export type SimpleRedirectRule = { from: string; to: string };
export type RedirectMatchRule = { fromPattern: string; to: string };
export type Redirect = SimpleRedirectRule | RedirectMatchRule;

/**
 * Where this file lives
 *
 * Useful for debugging
 */
export const REDIRECTS_FILE = 'documentation/ag-grid-docs/src/utils/htaccess/redirects.ts';

export const IGNORE_PAGES = ['/ecommerce/', '/ag-grid-jobs-board'];

const pageForAllFrameworks = (from: string, to: string): Redirect[] => [
    { from: `/javascript-data-grid/${from}`, to: `/javascript-data-grid/${to}` },
    { from: `/angular-data-grid/${from}`, to: `/angular-data-grid/${to}` },
    { from: `/react-data-grid/${from}`, to: `/react-data-grid/${to}` },
    { from: `/vue-data-grid/${from}`, to: `/vue-data-grid/${to}` },
];

export const SITE_301_REDIRECTS: Redirect[] = [
    // Redirect pipeline and changelog to new gatsby components (instead of old php ones)
    { from: '/ag-grid-changelog/', to: '/changelog/' },
    { from: '/ag-grid-pipeline/', to: '/pipeline/' },

    // Redirect old pages to new documentation structure
    { from: '/javascript-grid/', to: '/javascript-data-grid/' },
    { from: '/react-grid/', to: '/react-data-grid/' },
    { from: '/angular-grid/', to: '/angular-data-grid/' },
    { from: '/vue-grid/', to: '/vue-data-grid/' },
    { from: '/ag-grid-8-performance-hacks-for-javascript/', to: '/javascript-data-grid/' },
    {
        from: '/ag-grid-angular-aot-dynamic-components/',
        to: 'https://medium.com/ag-grid/understanding-aot-and-dynamic-components-in-angular-2-9b7548ce5845',
    },
    {
        from: '/ag-grid-angular-connect-2016/',
        to: 'https://medium.com/ag-grid/were-gonna-need-a-bigger-boat-from-speaker-to-sponsor-with-ag-grid-cf5e01a2d9ba',
    },
    { from: '/ag-grid-angular-systemjs/', to: '/angular-data-grid/' },
    { from: '/angular-data-grid/systemjs/', to: '/angular-data-grid/' },
    { from: '/ag-grid-angular-webpack-2/', to: '/angular-data-grid/' },
    { from: '/angular-data-grid/webpack-2/', to: '/angular-data-grid/' },
    { from: '/ag-grid-angular-webpack-3/', to: '/angular-data-grid/' },
    { from: '/angular-data-grid/webpack-3/', to: '/angular-data-grid/' },
    { from: '/ag-grid-angular-webpack/', to: '/angular-data-grid/' },
    { from: '/angular-data-grid/webpack/', to: '/angular-data-grid/' },
    {
        from: '/ag-grid-angular2-support-v6/',
        to: 'https://medium.com/ag-grid/announcing-ag-grid-v6-and-angular-2-datagrid-support-34ceef54872b',
    },
    {
        from: '/ag-grid-angular2-support-v7/',
        to: 'https://medium.com/ag-grid/ag-grid-v7-aot-angular-2-components-7130fdb8f480',
    },
    {
        from: '/ag-grid-big-data-small-browser/',
        to: 'https://medium.com/ag-grid/delivering-big-data-in-the-small-browser-41704f1058f0',
    },
    { from: '/ag-grid-blog-14-0-0/', to: 'https://medium.com/ag-grid/ag-grid-v14-halloween-released-fb53e674bfc' },
    { from: '/ag-grid-blog-14-2-0/', to: 'https://medium.com/ag-grid/whats-new-in-ag-grid-v14-2-0-6cf06f953109' },
    { from: '/ag-grid-blog-15-0-0/', to: 'https://medium.com/ag-grid/happy-new-ag-grid-v15-0-0-698f3f405069' },
    {
        from: '/ag-grid-blog-16-0-0/',
        to: 'https://medium.com/ag-grid/introducing-version-16-phoenix-and-our-new-website-53403451083c',
    },
    { from: '/ag-grid-building-amd/', to: '/javascript-data-grid/installation/' },
    { from: '/javascript-data-grid/building-amd/', to: '/javascript-data-grid/installation/' },
    { from: '/ag-grid-building-rollup/', to: '/javascript-data-grid/installation/' },
    { from: '/javascript-data-grid/building-rollup/', to: '/javascript-data-grid/installation/' },
    { from: '/ag-grid-building-typescript/', to: '/javascript-data-grid/installation/' },
    { from: '/javascript-data-grid/building-typescript/', to: '/javascript-data-grid/installation/' },
    { from: '/ag-grid-building/', to: '/javascript-data-grid/installation/' },
    { from: '/javascript-data-grid/building/', to: '/javascript-data-grid/installation/' },
    { from: '/javascript-data-grid/npm/', to: '/javascript-data-grid/installation/' },
    { from: '/javascript-data-grid/download/', to: '/javascript-data-grid/installation' },
    {
        from: '/ag-grid-datagrid-crud-part-1/',
        to: 'https://medium.com/ag-grid/building-a-crud-application-with-ag-grid-part-1-bf7f9715166e',
    },
    {
        from: '/ag-grid-datagrid-crud-part-2/',
        to: 'https://medium.com/ag-grid/building-a-crud-application-with-ag-grid-part-2-c5e5e4548bf',
    },
    {
        from: '/ag-grid-datagrid-crud-part-4/',
        to: 'https://medium.com/ag-grid/building-a-crud-application-with-ag-grid-part-4-3189034df922',
    },
    { from: '/ag-grid-goes-commercial/', to: 'https://medium.com/ag-grid/ag-grid-goes-commercial-3961cf0c6f7b' },
    {
        from: '/ag-grid-gpu-animation-transform-translate/',
        to: 'https://medium.com/ag-grid/javascript-gpu-animation-with-transform-and-translate-bf09c7000aa6',
    },
    {
        from: '/ag-grid-in-2016/',
        to: 'https://medium.com/ag-grid/stepping-it-up-ag-grid-focuses-on-agnostic-in-2016-fd7cdb8c11d4',
    },
    {
        from: '/ag-grid-javascript-pivot-grid/',
        to: 'https://medium.com/ag-grid/announcing-ag-grid-v5-and-pivot-417fa7649ccb',
    },
    {
        from: '/ag-grid-proud-to-support-plunker/',
        to: 'https://medium.com/ag-grid/plunker-is-now-backed-by-ag-grid-601c17440fca',
    },
    {
        from: '/ag-grid-react-datagrid/',
        to: 'https://medium.com/ag-grid/building-a-react-datagrid-with-redux-and-ag-grid-1a837ef1b649',
    },
    {
        from: '/ag-grid-the-best-html5-grid-for-streaming-updates/',
        to: 'https://medium.com/ag-grid/how-to-test-for-the-best-html5-grid-for-streaming-updates-53545bb9256a',
    },
    { from: '/ag-grid-trader-dashboard/', to: 'https://www.ag-grid.com/' },
    { from: '/ag-grid-tutorials/', to: '/javascript-data-grid/getting-started/' },
    {
        from: '/ag-grid-understanding-webpack/',
        to: 'https://medium.com/ag-grid/webpack-tutorial-understanding-how-it-works-f73dfa164f01',
    },
    {
        from: '/ag-grid-webpack-ngtools/',
        to: 'https://medium.com/ag-grid/webpack-tutorial-understanding-ngtools-webpack-306dd7f9e07d',
    },
    { from: '/angular-getting-started/', to: '/angular-data-grid/getting-started/' },
    { from: '/angular-grid-angular-compiling/', to: '/angular-data-grid/getting-started/' },
    { from: '/angular-grid-api/', to: '/angular-data-grid/grid-api/' },
    { from: '/angular-grid-cell-expressions/', to: '/angular-data-grid/cell-expressions/' },
    { from: '/angular-grid-cell-rendering/', to: '/angular-data-grid/component-cell-renderer/' },
    { from: '/angular-grid-cell-template/', to: '/angular-data-grid/getting-started/' },
    { from: '/angular-grid-clipboard/', to: '/angular-data-grid/clipboard/' },
    { from: '/angular-grid-column-api/', to: '/angular-data-grid/column-api/' },
    { from: '/angular-grid-column-definitions/', to: '/angular-data-grid/column-definitions/' },
    { from: '/angular-grid-column-menu/', to: '/angular-data-grid/column-menu/' },
    { from: '/angular-grid-context-menu/', to: '/angular-data-grid/context-menu/' },
    { from: '/angular-grid-context/', to: '/angular-data-grid/context/' },
    { from: '/angular-grid-datasource/', to: '/angular-data-grid/infinite-scrolling/' },
    { from: '/angular-grid-editing/', to: '/angular-data-grid/cell-editing/' },
    { from: '/angular-grid-export/', to: '/angular-data-grid/excel-export/' },
    { from: '/angular-grid-filtering/', to: '/angular-data-grid/filtering/' },
    { from: '/angular-grid-floating/', to: '/angular-data-grid/row-pinning/' },
    { from: '/angular-grid-for-print/', to: '/angular-data-grid/printing/' },
    { from: '/angular-grid-getting-started-web-components/', to: '/javascript-data-grid/getting-started/' },
    { from: '/angular-grid-grid-options/', to: '/angular-data-grid/grid-interface/' },
    { from: '/angular-grid-grouping-headers/', to: '/angular-data-grid/column-groups/' },
    { from: '/angular-grid-grouping/', to: '/angular-data-grid/grouping/' },
    { from: '/angular-grid-header-rendering/', to: '/angular-data-grid/column-headers/' },
    { from: '/angular-grid-icons/', to: '/angular-data-grid/custom-icons/' },
    { from: '/angular-grid-install/', to: '/angular-data-grid/getting-started/' },
    { from: '/angular-grid-internationalisation/', to: '/angular-data-grid/localisation/' },
    { from: '/angular-grid-keyboard-navigation/', to: '/angular-data-grid/keyboard-navigation/' },
    { from: '/angular-grid-loading-rows/', to: '/angular-data-grid/grid-interface/' },
    { from: '/angular-grid-loading/', to: '/angular-data-grid/overlays/' },
    { from: '/angular-grid-master-slave/', to: '/angular-data-grid/aligned-grids/' },
    { from: '/angular-grid-model/', to: '/angular-data-grid/row-models/' },
    { from: '/angular-grid-overlays/', to: '/angular-data-grid/overlays/' },
    { from: '/angular-grid-pagination/', to: '/angular-data-grid/row-pagination/' },
    { from: '/angular-grid-pinning/', to: '/angular-data-grid/column-pinning/' },
    { from: '/angular-grid-range-selection/', to: '/angular-data-grid/cell-selection/' },
    { from: '/angular-grid-refresh/', to: '/angular-data-grid/view-refresh/' },
    { from: '/angular-grid-resizing/', to: '/angular-data-grid/column-sizing/' },
    { from: '/angular-grid-row-height/', to: '/angular-data-grid/row-height/' },
    { from: '/angular-grid-selection/', to: '/angular-data-grid/row-selection/' },
    { from: '/angular-grid-set-filtering/', to: '/angular-data-grid/filter-set/' },
    { from: '/angular-grid-sorting/', to: '/angular-data-grid/row-sorting/' },
    { from: '/angular-grid-status-bar/', to: '/angular-data-grid/status-bar/' },
    { from: '/angular-grid-styling/', to: '/angular-data-grid/themes/' },
    { from: '/angular-grid-tool-panel-old/', to: '/angular-data-grid/tool-panel/' },
    { from: '/angular-grid-tree/', to: '/angular-data-grid/tree-data/' },
    { from: '/angular-grid-value-getters/', to: '/angular-data-grid/value-getters/' },
    { from: '/angular-grid-virtual-paging/', to: '/angular-data-grid/dom-virtualisation/' },
    { from: '/angular-grid-width-and-height/', to: '/angular-data-grid/grid-size/' },
    { from: '/angular-markup/', to: '/angular-data-grid/getting-started/' },
    { from: '/angular-more-details/', to: '/angular-data-grid/components/' },
    { from: '/best-angular-2-data-grid/', to: '/angular-data-grid/getting-started/' },
    { from: '/best-angular-grid/', to: '/angular-data-grid/getting-started/' },
    { from: '/best-angularjs-2-grid/', to: '/angular-data-grid/getting-started/' },
    { from: '/best-angularjs-data-grid/', to: '/angular-data-grid/getting-started/' },
    { from: '/best-angularjs-grid/', to: '/angular-data-grid/getting-started/' },
    { from: '/angular-data-grid/angularjs/', to: '/angular-data-grid/getting-started/' },
    { from: '/best-javascript-data-grid/', to: '/javascript-data-grid/getting-started/' },
    { from: '/best-javascript-grid/', to: '/javascript-data-grid/getting-started/' },
    { from: '/best-react-data-grid/', to: '/react-data-grid/getting-started/' },
    { from: '/best-react-grid/', to: '/react-data-grid/getting-started/' },
    { from: '/best-vuejs-data-grid/', to: '/vue-data-grid/getting-started/' },
    { from: '/best-vuejs-grid/', to: '/vue-data-grid/getting-started/' },

    { from: '/angular-data-grid/grid-properties/', to: '/angular-data-grid/grid-options/' },
    { from: '/javascript-data-grid/grid-properties/', to: '/javascript-data-grid/grid-options/' },
    { from: '/react-data-grid/grid-properties/', to: '/react-data-grid/grid-options/' },
    { from: '/vue-data-grid/grid-properties/', to: '/vue-data-grid/grid-options/' },
    { from: '/angular-data-grid/grid-callbacks/', to: '/angular-data-grid/grid-options/' },
    { from: '/javascript-data-grid/grid-callbacks/', to: '/javascript-data-grid/grid-options/' },
    { from: '/react-data-grid/grid-callbacks/', to: '/react-data-grid/grid-options/' },
    { from: '/vue-data-grid/grid-callbacks/', to: '/vue-data-grid/grid-options/' },

    { from: '/documentation-main/documentation.php', to: '/documentation/' },
    { from: '/documentation/angular/accessibility/', to: '/angular-data-grid/accessibility/' },
    { from: '/documentation/angular/accessing-data/', to: '/angular-data-grid/accessing-data/' },
    { from: '/documentation/angular/aggregation/', to: '/angular-data-grid/aggregation/' },
    { from: '/documentation/angular/aligned-grids/', to: '/angular-data-grid/aligned-grids/' },
    { from: '/documentation/angular/angular-rxjs/', to: '/angular-data-grid/data-update/' },
    { from: '/documentation/angular/angularjs/', to: '/angular-data-grid/getting-started/' },
    { from: '/documentation/angular/cell-content/', to: '/angular-data-grid/cell-content/' },
    { from: '/documentation/angular/cell-editing/', to: '/angular-data-grid/cell-editing/' },
    { from: '/documentation/angular/cell-expressions/', to: '/angular-data-grid/cell-expressions/' },
    { from: '/documentation/angular/cell-rendering/', to: '/angular-data-grid/component-cell-renderer/' },
    { from: '/documentation/angular/cell-styles/', to: '/angular-data-grid/cell-styles/' },
    { from: '/documentation/angular/change-cell-renderers/', to: '/angular-data-grid/change-cell-renderers/' },
    { from: '/documentation/angular/change-detection/', to: '/angular-data-grid/change-detection/' },
    { from: '/documentation/angular/client-side-model/', to: '/angular-data-grid/row-models/' },
    { from: '/documentation/angular/clipboard/', to: '/angular-data-grid/clipboard/' },
    { from: '/documentation/angular/column-api/', to: '/angular-data-grid/column-api/' },
    { from: '/documentation/angular/column-definitions/', to: '/angular-data-grid/column-definitions/' },
    { from: '/documentation/angular/column-groups/', to: '/angular-data-grid/column-groups/' },
    { from: '/documentation/angular/column-headers/', to: '/angular-data-grid/column-headers/' },
    { from: '/documentation/angular/column-interface/', to: '/angular-data-grid/column-interface/' },
    { from: '/documentation/angular/column-menu/', to: '/angular-data-grid/column-menu/' },
    { from: '/documentation/angular/column-moving/', to: '/angular-data-grid/column-moving/' },
    { from: '/documentation/angular/column-object/', to: '/angular-data-grid/column-object/' },
    { from: '/documentation/angular/column-pinning/', to: '/angular-data-grid/column-pinning/' },
    { from: '/documentation/angular/column-properties/', to: '/angular-data-grid/column-properties/' },
    { from: '/documentation/angular/column-sizing/', to: '/angular-data-grid/column-sizing/' },
    { from: '/documentation/angular/column-spanning/', to: '/angular-data-grid/column-spanning/' },
    { from: '/documentation/angular/column-state/', to: '/angular-data-grid/column-state/' },
    {
        from: '/documentation/angular/column-updating-definitions/',
        to: '/angular-data-grid/column-updating-definitions/',
    },
    { from: '/documentation/angular/component-cell-editor/', to: '/angular-data-grid/cell-editors/' },
    { from: '/documentation/angular/component-cell-renderer/', to: '/angular-data-grid/component-cell-renderer/' },
    { from: '/documentation/angular/component-communication/', to: '/angular-data-grid/components/' },
    { from: '/documentation/angular/component-date/', to: '/angular-data-grid/filter-date/' },
    { from: '/documentation/angular/component-filter/', to: '/angular-data-grid/component-filter/' },
    { from: '/documentation/angular/component-floating-filter/', to: '/angular-data-grid/component-floating-filter/' },
    { from: '/documentation/angular/component-header/', to: '/angular-data-grid/column-headers/' },
    {
        from: '/documentation/angular/component-loading-cell-renderer/',
        to: '/angular-data-grid/component-loading-cell-renderer/',
    },
    { from: '/documentation/angular/component-overlay/', to: '/angular-data-grid/overlays/' },
    { from: '/documentation/angular/component-status-bar/', to: '/angular-data-grid/status-bar/' },
    { from: '/documentation/angular/component-tool-panel/', to: '/angular-data-grid/component-tool-panel/' },
    { from: '/documentation/angular/component-tooltip/', to: '/angular-data-grid/tooltips/' },
    { from: '/documentation/angular/component-types/', to: '/angular-data-grid/components/' },
    { from: '/documentation/angular/components/', to: '/angular-data-grid/components/' },
    { from: '/documentation/angular/context-menu/', to: '/angular-data-grid/context-menu/' },
    { from: '/documentation/angular/context/', to: '/angular-data-grid/context/' },
    { from: '/documentation/angular/csv-export/', to: '/angular-data-grid/csv-export/' },
    { from: '/documentation/angular/custom-icons/', to: '/angular-data-grid/custom-icons/' },
    {
        from: '/documentation/angular/data-update-high-frequency/',
        to: '/angular-data-grid/data-update-high-frequency/',
    },
    {
        from: '/documentation/angular/data-update-single-row-cell/',
        to: '/angular-data-grid/data-update-single-row-cell/',
    },
    { from: '/documentation/angular/data-update-transactions/', to: '/angular-data-grid/data-update-transactions/' },
    { from: '/documentation/angular/data-update/', to: '/angular-data-grid/data-update/' },
    { from: '/documentation/angular/dom-virtualisation/', to: '/angular-data-grid/dom-virtualisation/' },
    { from: '/documentation/angular/drag-and-drop/', to: '/angular-data-grid/drag-and-drop/' },
    { from: '/documentation/angular/excel-export/', to: '/angular-data-grid/excel-export/' },
    { from: '/documentation/angular/excel-import/', to: '/angular-data-grid/excel-import/' },
    { from: '/documentation/angular/export/', to: '/angular-data-grid/excel-export/' },
    { from: '/documentation/angular/expressions-and-context/', to: '/angular-data-grid/context/' },
    { from: '/documentation/angular/filter-api/', to: '/angular-data-grid/filter-api/' },
    { from: '/documentation/angular/filter-custom/', to: '/angular-data-grid/component-filter/' },
    { from: '/documentation/angular/filter-date/', to: '/angular-data-grid/filter-date/' },
    { from: '/documentation/angular/filter-external/', to: '/angular-data-grid/filter-external/' },
    { from: '/documentation/angular/filter-multi/', to: '/angular-data-grid/filter-multi/' },
    { from: '/documentation/angular/filter-number/', to: '/angular-data-grid/filter-number/' },
    { from: '/documentation/angular/filter-provided-simple/', to: '/angular-data-grid/filtering/' },
    { from: '/documentation/angular/filter-provided/', to: '/angular-data-grid/filtering/' },
    { from: '/documentation/angular/filter-quick/', to: '/angular-data-grid/filter-quick/' },
    { from: '/documentation/angular/filter-set-api/', to: '/angular-data-grid/filter-set-api/' },
    { from: '/documentation/angular/filter-set-data-updates/', to: '/angular-data-grid/filter-set-data-updates/' },
    { from: '/documentation/angular/filter-set-excel-mode/', to: '/angular-data-grid/filter-set-excel-mode/' },
    { from: '/documentation/angular/filter-set-filter-list/', to: '/angular-data-grid/filter-set-filter-list/' },
    { from: '/documentation/angular/filter-set-mini-filter/', to: '/angular-data-grid/filter-set-mini-filter/' },
    { from: '/documentation/angular/filter-set/', to: '/angular-data-grid/filter-set/' },
    { from: '/documentation/angular/filter-text/', to: '/angular-data-grid/filter-text/' },
    { from: '/documentation/angular/filtering-overview/', to: '/angular-data-grid/filtering-overview/' },
    { from: '/documentation/angular/filtering/', to: '/angular-data-grid/filtering/' },
    { from: '/documentation/angular/flashing-cells/', to: '/angular-data-grid/change-cell-renderers/' },
    { from: '/documentation/angular/floating-filters/', to: '/angular-data-grid/floating-filters/' },
    { from: '/documentation/angular/full-width-rows/', to: '/angular-data-grid/full-width-rows/' },
    { from: '/documentation/angular/getting-started/', to: '/angular-data-grid/getting-started/' },
    { from: '/documentation/angular/grid-api/', to: '/angular-data-grid/grid-api/' },
    { from: '/documentation/angular/grid-callbacks/', to: '/angular-data-grid/grid-options/' },
    { from: '/documentation/angular/grid-events/', to: '/angular-data-grid/grid-events/' },
    { from: '/documentation/angular/grid-features/', to: 'https://www.ag-grid.com/' },
    { from: '/documentation/angular/grid-interface/', to: '/angular-data-grid/grid-interface/' },
    { from: '/documentation/angular/grid-properties/', to: '/angular-data-grid/grid-options/' },
    { from: '/documentation/angular/grid-size/', to: '/angular-data-grid/grid-size/' },
    { from: '/documentation/angular/group-cell-renderer/', to: '/angular-data-grid/grouping/' },
    { from: '/documentation/angular/grouping/', to: '/angular-data-grid/grouping/' },
    { from: '/documentation/angular/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/angular-data-grid/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/documentation/angular/infinite-scrolling/', to: '/angular-data-grid/infinite-scrolling/' },
    {
        from: '/documentation/angular/integrated-charts-container/',
        to: '/angular-data-grid/integrated-charts-container/',
    },
    {
        from: '/documentation/angular/integrated-charts-customisation/',
        to: '/angular-data-grid/integrated-charts-customisation/',
    },
    { from: '/documentation/angular/integrated-charts-events/', to: '/angular-data-grid/integrated-charts-events/' },
    {
        from: '/documentation/angular/integrated-charts-pivot-chart/',
        to: '/angular-data-grid/integrated-charts-pivot-chart/',
    },
    {
        from: '/documentation/angular/integrated-charts-range-chart/',
        to: '/angular-data-grid/integrated-charts-range-chart/',
    },
    {
        from: '/documentation/angular/integrated-charts-time-series/',
        to: '/angular-data-grid/integrated-charts-time-series/',
    },
    { from: '/documentation/angular/integrated-charts-toolbar/', to: '/angular-data-grid/integrated-charts-menu/' },
    { from: '/documentation/angular/integrated-charts/', to: '/angular-data-grid/integrated-charts/' },
    { from: '/documentation/angular/keyboard-navigation/', to: '/angular-data-grid/keyboard-navigation/' },
    { from: '/documentation/angular/licensing/', to: '/angular-data-grid/community-vs-enterprise/' },
    { from: '/documentation/angular/localisation/', to: '/angular-data-grid/localisation/' },
    {
        from: '/documentation/angular/master-detail-custom-detail/',
        to: '/angular-data-grid/master-detail-custom-detail/',
    },
    { from: '/documentation/angular/master-detail-grids/', to: '/angular-data-grid/master-detail-grids/' },
    { from: '/documentation/angular/master-detail-height/', to: '/angular-data-grid/master-detail-height/' },
    { from: '/documentation/angular/master-detail-master-rows/', to: '/angular-data-grid/master-detail-master-rows/' },
    { from: '/documentation/angular/master-detail-nesting/', to: '/angular-data-grid/master-detail-nesting/' },
    { from: '/documentation/angular/master-detail-other/', to: '/angular-data-grid/master-detail-other/' },
    { from: '/documentation/angular/master-detail-refresh/', to: '/angular-data-grid/master-detail-refresh/' },
    { from: '/documentation/angular/master-detail/', to: '/angular-data-grid/master-detail/' },
    { from: '/documentation/angular/modules-building/', to: '/angular-data-grid/modules/' },
    { from: '/angular-data-grid/modules-building/', to: '/angular-data-grid/modules/' },
    { from: '/documentation/angular/modules-more-details/', to: '/angular-data-grid/modules/' },
    { from: '/angular-data-grid/modules-more-details/', to: '/angular-data-grid/modules/' },
    { from: '/documentation/angular/modules/', to: '/angular-data-grid/modules/' },
    { from: '/documentation/angular/overlays/', to: '/angular-data-grid/overlays/' },
    { from: '/documentation/angular/packages-modules/', to: '/angular-data-grid/modules/' },
    { from: '/documentation/angular/packages/', to: '/angular-data-grid/modules/' },
    { from: '/documentation/angular/pivoting/', to: '/angular-data-grid/pivoting/' },
    { from: '/documentation/angular/printing/', to: '/angular-data-grid/printing/' },
    { from: '/documentation/angular/provided-cell-editors/', to: '/angular-data-grid/provided-cell-editors/' },
    {
        from: '/documentation/angular/range-selection-fill-handle/',
        to: '/angular-data-grid/cell-selection-fill-handle/',
    },
    { from: '/documentation/angular/range-selection-handle/', to: '/angular-data-grid/cell-selection-handle/' },
    { from: '/documentation/angular/range-selection/', to: '/angular-data-grid/cell-selection/' },
    { from: '/documentation/angular/reference-data/', to: '/angular-data-grid/reference-data/' },
    { from: '/documentation/angular/rendering-api/', to: '/angular-data-grid/dom-virtualisation/' },
    { from: '/documentation/angular/row-animation/', to: '/angular-data-grid/row-animation/' },
    {
        from: '/documentation/angular/row-dragging-to-external-dropzone/',
        to: '/angular-data-grid/row-dragging-to-external-dropzone/',
    },
    { from: '/documentation/angular/row-dragging-to-grid/', to: '/angular-data-grid/row-dragging-to-grid/' },
    { from: '/documentation/angular/row-dragging/', to: '/angular-data-grid/row-dragging/' },
    { from: '/documentation/angular/row-height/', to: '/angular-data-grid/row-height/' },
    { from: '/documentation/angular/row-models/', to: '/angular-data-grid/row-models/' },
    { from: '/documentation/angular/row-object/', to: '/angular-data-grid/row-object/' },
    { from: '/documentation/angular/row-pagination/', to: '/angular-data-grid/row-pagination/' },
    { from: '/documentation/angular/row-pinning/', to: '/angular-data-grid/row-pinning/' },
    { from: '/documentation/angular/row-selection/', to: '/angular-data-grid/row-selection/' },
    { from: '/documentation/angular/row-sorting/', to: '/angular-data-grid/row-sorting/' },
    { from: '/documentation/angular/row-spanning/', to: '/angular-data-grid/row-spanning/' },
    { from: '/documentation/angular/row-styles/', to: '/angular-data-grid/row-styles/' },
    { from: '/documentation/angular/rtl/', to: '/angular-data-grid/rtl/' },
    { from: '/documentation/angular/rxjs/', to: '/angular-data-grid/data-update/' },
    { from: '/documentation/angular/saving-content/', to: '/angular-data-grid/saving-content/' },
    { from: '/documentation/angular/scrolling-performance/', to: '/angular-data-grid/scrolling-performance/' },
    { from: '/documentation/angular/scrolling-scenarios/', to: '/angular-data-grid/scrolling-performance/' },
    { from: '/documentation/angular/security/', to: '/angular-data-grid/security/' },
    { from: '/documentation/angular/selection-overview/', to: '/angular-data-grid/row-selection/' },
    {
        from: '/documentation/angular/server-side-model-changing-columns/',
        to: '/angular-data-grid/server-side-model-changing-columns/',
    },
    {
        from: '/documentation/angular/server-side-model-datasource/',
        to: '/angular-data-grid/server-side-model-datasource/',
    },
    {
        from: '/documentation/angular/server-side-model-filtering/',
        to: '/angular-data-grid/server-side-model-filtering/',
    },
    {
        from: '/documentation/angular/server-side-model-grouping/',
        to: '/angular-data-grid/server-side-model-grouping/',
    },
    {
        from: '/documentation/angular/server-side-model-high-frequency/',
        to: '/angular-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/angular-data-grid/server-side-model-high-frequency/',
        to: '/angular-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/documentation/angular/server-side-model-master-detail/',
        to: '/angular-data-grid/server-side-model-master-detail/',
    },
    {
        from: '/documentation/angular/server-side-model-pagination/',
        to: '/angular-data-grid/server-side-model-pagination/',
    },
    {
        from: '/documentation/angular/server-side-model-pivoting/',
        to: '/angular-data-grid/server-side-model-pivoting/',
    },
    {
        from: '/documentation/angular/server-side-model-refresh/',
        to: '/angular-data-grid/server-side-model-updating-refresh/',
    },
    {
        from: '/angular-data-grid/server-side-model-refresh/',
        to: '/angular-data-grid/server-side-model-updating-refresh/',
    },
    { from: '/documentation/angular/server-side-model-retry/', to: '/angular-data-grid/server-side-model-retry/' },
    {
        from: '/documentation/angular/server-side-model-row-height/',
        to: '/angular-data-grid/server-side-model-row-height/',
    },
    {
        from: '/documentation/angular/server-side-model-selection/',
        to: '/angular-data-grid/server-side-model-selection/',
    },
    { from: '/documentation/angular/server-side-model-sorting/', to: '/angular-data-grid/server-side-model-sorting/' },
    {
        from: '/documentation/angular/server-side-model-transactions/',
        to: '/angular-data-grid/server-side-model-updating-refresh/',
    },
    {
        from: '/angular-data-grid/server-side-model-transactions/',
        to: '/angular-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/documentation/angular/server-side-model-tree-data/',
        to: '/angular-data-grid/server-side-model-tree-data/',
    },
    {
        from: '/documentation/angular/server-side-model-updating/',
        to: '/angular-data-grid/server-side-model-updating/',
    },
    { from: '/documentation/angular/server-side-model/', to: '/angular-data-grid/server-side-model/' },
    {
        from: '/documentation/angular/server-side-operations-graphql/',
        to: '/angular-data-grid/server-side-operations-graphql/',
    },
    {
        from: '/documentation/angular/server-side-operations-nodejs/',
        to: '/angular-data-grid/server-side-operations-nodejs/',
    },
    {
        from: '/documentation/angular/server-side-operations-oracle/',
        to: '/angular-data-grid/server-side-operations-oracle/',
    },
    {
        from: '/documentation/angular/server-side-operations-spark/',
        to: '/angular-data-grid/server-side-operations-spark/',
    },
    { from: '/documentation/angular/side-bar/', to: '/angular-data-grid/side-bar/' },
    { from: '/documentation/angular/status-bar/', to: '/angular-data-grid/status-bar/' },
    { from: '/documentation/angular/supported-browsers/', to: '/angular-data-grid/supported-browsers/' },
    { from: '/documentation/angular/systemjs/', to: '/angular-data-grid/' },
    { from: '/angular-data-grid/systemjs/', to: '/angular-data-grid/' },
    { from: '/documentation/angular/testing/', to: '/angular-data-grid/testing/' },
    { from: '/documentation/angular/themes-customising/', to: '/angular-data-grid/themes/' },
    { from: '/documentation/angular/themes-provided/', to: '/angular-data-grid/themes/' },
    { from: '/documentation/angular/themes/', to: '/angular-data-grid/themes/' },
    { from: '/documentation/angular/tool-panel-columns/', to: '/angular-data-grid/tool-panel-columns/' },
    { from: '/documentation/angular/tool-panel-filters/', to: '/angular-data-grid/tool-panel-filters/' },
    { from: '/documentation/angular/tool-panel/', to: '/angular-data-grid/tool-panel/' },
    { from: '/documentation/angular/touch/', to: '/angular-data-grid/touch/' },
    { from: '/documentation/angular/tree-data/', to: '/angular-data-grid/tree-data/' },
    { from: '/documentation/angular/undo-redo-edits/', to: '/angular-data-grid/undo-redo-edits/' },
    { from: '/documentation/angular/value-formatters/', to: '/angular-data-grid/value-formatters/' },
    { from: '/documentation/angular/value-getters/', to: '/angular-data-grid/value-getters/' },
    { from: '/documentation/angular/value-parsers/', to: '/angular-data-grid/value-parsers/' },
    { from: '/documentation/angular/value-setters/', to: '/angular-data-grid/value-setters/' },
    { from: '/documentation/angular/view-refresh/', to: '/angular-data-grid/view-refresh/' },
    { from: '/documentation/angular/viewport/', to: '/angular-data-grid/viewport/' },
    { from: '/documentation/angular/webpack-2/', to: '/angular-data-grid/' },
    { from: '/angular-data-grid/webpack-2/', to: '/angular-data-grid/' },
    { from: '/documentation/angular/webpack-3/', to: '/angular-data-grid/' },
    { from: '/angular-data-grid/webpack-3/', to: '/angular-data-grid/' },
    { from: '/documentation/angular/webpack/', to: '/angular-data-grid/' },
    { from: '/angular-data-grid/webpack/', to: '/angular-data-grid/' },
    { from: '/documentation/angular/', to: '/angular-data-grid/' },
    { from: '/documentation/javascript/8-performance-hacks-for-javascript/', to: '/javascript-data-grid/' },
    { from: '/documentation/javascript/accessibility/', to: '/javascript-data-grid/accessibility/' },
    { from: '/documentation/javascript/accessing-data/', to: '/javascript-data-grid/accessing-data/' },
    { from: '/documentation/javascript/aggregation/', to: '/javascript-data-grid/aggregation/' },
    { from: '/documentation/javascript/aligned-grids/', to: '/javascript-data-grid/aligned-grids/' },
    { from: '/documentation/javascript/building-amd/', to: '/javascript-data-grid/installation/' },
    { from: '/documentation/javascript/building-rollup/', to: '/javascript-data-grid/installation/' },
    { from: '/documentation/javascript/building-typescript/', to: '/javascript-data-grid/installation/' },
    { from: '/documentation/javascript/building/', to: '/javascript-data-grid/installation/' },
    { from: '/documentation/javascript/cell-content/', to: '/javascript-data-grid/cell-content/' },
    { from: '/documentation/javascript/cell-editing/', to: '/javascript-data-grid/cell-editing/' },
    { from: '/documentation/javascript/cell-expressions/', to: '/javascript-data-grid/cell-expressions/' },
    { from: '/documentation/javascript/cell-rendering/', to: '/javascript-data-grid/component-cell-renderer/' },
    { from: '/documentation/javascript/cell-styles/', to: '/javascript-data-grid/cell-styles/' },
    { from: '/documentation/javascript/change-cell-renderers/', to: '/javascript-data-grid/change-cell-renderers/' },
    { from: '/documentation/javascript/change-detection/', to: '/javascript-data-grid/change-detection/' },
    { from: '/documentation/javascript/client-side-model/', to: '/javascript-data-grid/row-models/' },
    { from: '/documentation/javascript/clipboard/', to: '/javascript-data-grid/clipboard/' },
    { from: '/documentation/javascript/column-api/', to: '/javascript-data-grid/column-api/' },
    { from: '/documentation/javascript/column-definitions/', to: '/javascript-data-grid/column-definitions/' },
    { from: '/documentation/javascript/column-groups/', to: '/javascript-data-grid/column-groups/' },
    { from: '/documentation/javascript/column-headers/', to: '/javascript-data-grid/column-headers/' },
    { from: '/documentation/javascript/column-interface/', to: '/javascript-data-grid/column-interface/' },
    { from: '/documentation/javascript/column-menu/', to: '/javascript-data-grid/column-menu/' },
    { from: '/documentation/javascript/column-moving/', to: '/javascript-data-grid/column-moving/' },
    { from: '/documentation/javascript/column-object/', to: '/javascript-data-grid/column-object/' },
    { from: '/documentation/javascript/column-pinning/', to: '/javascript-data-grid/column-pinning/' },
    { from: '/documentation/javascript/column-properties/', to: '/javascript-data-grid/column-properties/' },
    { from: '/documentation/javascript/column-sizing/', to: '/javascript-data-grid/column-sizing/' },
    { from: '/documentation/javascript/column-spanning/', to: '/javascript-data-grid/column-spanning/' },
    { from: '/documentation/javascript/column-state/', to: '/javascript-data-grid/column-state/' },
    {
        from: '/documentation/javascript/column-updating-definitions/',
        to: '/javascript-data-grid/column-updating-definitions/',
    },
    { from: '/documentation/javascript/component-cell-editor/', to: '/javascript-data-grid/cell-editors/' },
    {
        from: '/documentation/javascript/component-cell-renderer/',
        to: '/javascript-data-grid/component-cell-renderer/',
    },
    { from: '/documentation/javascript/component-date/', to: '/javascript-data-grid/filter-date/' },
    { from: '/documentation/javascript/component-filter/', to: '/javascript-data-grid/component-filter/' },
    {
        from: '/documentation/javascript/component-floating-filter/',
        to: '/javascript-data-grid/component-floating-filter/',
    },
    { from: '/documentation/javascript/component-header/', to: '/javascript-data-grid/column-headers/' },
    {
        from: '/documentation/javascript/component-loading-cell-renderer/',
        to: '/javascript-data-grid/component-loading-cell-renderer/',
    },
    { from: '/documentation/javascript/component-overlay/', to: '/javascript-data-grid/overlays/' },
    { from: '/documentation/javascript/component-status-bar/', to: '/javascript-data-grid/status-bar/' },
    { from: '/documentation/javascript/component-tool-panel/', to: '/javascript-data-grid/component-tool-panel/' },
    { from: '/documentation/javascript/component-tooltip/', to: '/javascript-data-grid/tooltips/' },
    { from: '/documentation/javascript/component-types/', to: '/javascript-data-grid/components/' },
    { from: '/documentation/javascript/components/', to: '/javascript-data-grid/components/' },
    { from: '/documentation/javascript/context-menu/', to: '/javascript-data-grid/context-menu/' },
    { from: '/documentation/javascript/context/', to: '/javascript-data-grid/context/' },
    { from: '/documentation/javascript/csv-export/', to: '/javascript-data-grid/csv-export/' },
    { from: '/documentation/javascript/custom-icons/', to: '/javascript-data-grid/custom-icons/' },
    {
        from: '/documentation/javascript/data-update-high-frequency/',
        to: '/javascript-data-grid/data-update-high-frequency/',
    },
    {
        from: '/documentation/javascript/data-update-single-row-cell/',
        to: '/javascript-data-grid/data-update-single-row-cell/',
    },
    {
        from: '/documentation/javascript/data-update-transactions/',
        to: '/javascript-data-grid/data-update-transactions/',
    },
    { from: '/documentation/javascript/data-update/', to: '/javascript-data-grid/data-update/' },
    { from: '/documentation/javascript/dom-virtualisation/', to: '/javascript-data-grid/dom-virtualisation/' },

    { from: '/documentation/javascript/download/', to: '/javascript-data-grid/installation/' },
    { from: '/documentation/javascript/drag-and-drop/', to: '/javascript-data-grid/drag-and-drop/' },
    { from: '/documentation/javascript/excel-export/', to: '/javascript-data-grid/excel-export/' },
    { from: '/documentation/javascript/excel-import/', to: '/javascript-data-grid/excel-import/' },
    { from: '/documentation/javascript/export/', to: '/javascript-data-grid/excel-export/' },
    {
        from: '/documentation/javascript/expressions-and-context/',
        to: '/javascript-data-grid/context/',
    },
    { from: '/documentation/javascript/filter-api/', to: '/javascript-data-grid/filter-api/' },
    { from: '/documentation/javascript/filter-custom/', to: '/javascript-data-grid/component-filter/' },
    { from: '/documentation/javascript/filter-date/', to: '/javascript-data-grid/filter-date/' },
    { from: '/documentation/javascript/filter-external/', to: '/javascript-data-grid/filter-external/' },
    { from: '/documentation/javascript/filter-multi/', to: '/javascript-data-grid/filter-multi/' },
    { from: '/documentation/javascript/filter-number/', to: '/javascript-data-grid/filter-number/' },
    { from: '/documentation/javascript/filter-provided-simple/', to: '/javascript-data-grid/filtering/' },
    { from: '/documentation/javascript/filter-provided/', to: '/javascript-data-grid/filtering/' },
    { from: '/documentation/javascript/filter-quick/', to: '/javascript-data-grid/filter-quick/' },
    { from: '/documentation/javascript/filter-set-api/', to: '/javascript-data-grid/filter-set-api/' },
    {
        from: '/documentation/javascript/filter-set-data-updates/',
        to: '/javascript-data-grid/filter-set-data-updates/',
    },
    { from: '/documentation/javascript/filter-set-excel-mode/', to: '/javascript-data-grid/filter-set-excel-mode/' },
    { from: '/documentation/javascript/filter-set-filter-list/', to: '/javascript-data-grid/filter-set-filter-list/' },
    { from: '/documentation/javascript/filter-set-mini-filter/', to: '/javascript-data-grid/filter-set-mini-filter/' },
    { from: '/documentation/javascript/filter-set/', to: '/javascript-data-grid/filter-set/' },
    { from: '/documentation/javascript/filter-text/', to: '/javascript-data-grid/filter-text/' },
    { from: '/documentation/javascript/filtering-overview/', to: '/javascript-data-grid/filtering-overview/' },
    { from: '/documentation/javascript/filtering/', to: '/javascript-data-grid/filtering/' },
    { from: '/documentation/javascript/flashing-cells/', to: '/javascript-data-grid/change-cell-renderers/' },
    { from: '/documentation/javascript/floating-filters/', to: '/javascript-data-grid/floating-filters/' },
    { from: '/documentation/javascript/full-width-rows/', to: '/javascript-data-grid/full-width-rows/' },
    { from: '/documentation/javascript/getting-started/', to: '/javascript-data-grid/getting-started/' },
    { from: '/documentation/javascript/grid-api/', to: '/javascript-data-grid/grid-api/' },
    { from: '/documentation/javascript/grid-callbacks/', to: '/javascript-data-grid/grid-options/' },
    { from: '/documentation/javascript/grid-events/', to: '/javascript-data-grid/grid-events/' },
    { from: '/documentation/javascript/grid-features/', to: 'https://www.ag-grid.com/' },
    { from: '/documentation/javascript/grid-interface/', to: '/javascript-data-grid/grid-interface/' },
    { from: '/documentation/javascript/grid-properties/', to: '/javascript-data-grid/grid-options/' },
    { from: '/documentation/javascript/grid-size/', to: '/javascript-data-grid/grid-size/' },
    { from: '/documentation/javascript/group-cell-renderer/', to: '/javascript-data-grid/grouping/' },
    { from: '/documentation/javascript/grouping/', to: '/javascript-data-grid/grouping/' },
    { from: '/documentation/javascript/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/javascript-data-grid/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/documentation/javascript/infinite-scrolling/', to: '/javascript-data-grid/infinite-scrolling/' },
    {
        from: '/documentation/javascript/integrated-charts-container/',
        to: '/javascript-data-grid/integrated-charts-container/',
    },
    {
        from: '/documentation/javascript/integrated-charts-customisation/',
        to: '/javascript-data-grid/integrated-charts-customisation/',
    },
    {
        from: '/documentation/javascript/integrated-charts-events/',
        to: '/javascript-data-grid/integrated-charts-events/',
    },
    {
        from: '/documentation/javascript/integrated-charts-pivot-chart/',
        to: '/javascript-data-grid/integrated-charts-pivot-chart/',
    },
    {
        from: '/documentation/javascript/integrated-charts-range-chart/',
        to: '/javascript-data-grid/integrated-charts-range-chart/',
    },
    {
        from: '/documentation/javascript/integrated-charts-time-series/',
        to: '/javascript-data-grid/integrated-charts-time-series/',
    },
    {
        from: '/documentation/javascript/integrated-charts-toolbar/',
        to: '/javascript-data-grid/integrated-charts-menu/',
    },
    { from: '/documentation/javascript/integrated-charts/', to: '/javascript-data-grid/integrated-charts/' },
    { from: '/documentation/javascript/keyboard-navigation/', to: '/javascript-data-grid/keyboard-navigation/' },
    { from: '/documentation/javascript/licensing/', to: '/javascript-data-grid/community-vs-enterprise/' },
    { from: '/documentation/javascript/localisation/', to: '/javascript-data-grid/localisation/' },
    {
        from: '/documentation/javascript/master-detail-custom-detail/',
        to: '/javascript-data-grid/master-detail-custom-detail/',
    },
    { from: '/documentation/javascript/master-detail-grids/', to: '/javascript-data-grid/master-detail-grids/' },
    { from: '/documentation/javascript/master-detail-height/', to: '/javascript-data-grid/master-detail-height/' },
    {
        from: '/documentation/javascript/master-detail-master-rows/',
        to: '/javascript-data-grid/master-detail-master-rows/',
    },
    { from: '/documentation/javascript/master-detail-nesting/', to: '/javascript-data-grid/master-detail-nesting/' },
    { from: '/documentation/javascript/master-detail-other/', to: '/javascript-data-grid/master-detail-other/' },
    { from: '/documentation/javascript/master-detail-refresh/', to: '/javascript-data-grid/master-detail-refresh/' },
    { from: '/documentation/javascript/master-detail/', to: '/javascript-data-grid/master-detail/' },
    { from: '/documentation/javascript/modules-building/', to: '/javascript-data-grid/modules/' },
    { from: '/documentation/javascript/modules-more-details/', to: '/javascript-data-grid/modules/' },
    { from: '/javascript-data-grid/modules-more-details/', to: '/javascript-data-grid/modules/' },
    { from: '/documentation/javascript/modules/', to: '/javascript-data-grid/modules/' },
    { from: '/documentation/javascript/npm/', to: '/javascript-data-grid/installation/' },
    { from: '/documentation/javascript/overlays/', to: '/javascript-data-grid/overlays/' },
    { from: '/documentation/javascript/packages-modules/', to: '/javascript-data-grid/modules/' },
    { from: '/documentation/javascript/packages/', to: '/javascript-data-grid/modules/' },
    { from: '/documentation/javascript/pivoting/', to: '/javascript-data-grid/pivoting/' },
    { from: '/documentation/javascript/printing/', to: '/javascript-data-grid/printing/' },
    { from: '/documentation/javascript/provided-cell-editors/', to: '/javascript-data-grid/provided-cell-editors/' },
    {
        from: '/documentation/javascript/range-selection-fill-handle/',
        to: '/javascript-data-grid/cell-selection-fill-handle/',
    },
    { from: '/documentation/javascript/range-selection-handle/', to: '/javascript-data-grid/cell-selection-handle/' },
    { from: '/documentation/javascript/range-selection/', to: '/javascript-data-grid/cell-selection/' },
    { from: '/documentation/javascript/reference-data/', to: '/javascript-data-grid/reference-data/' },
    { from: '/documentation/javascript/rendering-api/', to: '/javascript-data-grid/dom-virtualisation/' },
    { from: '/documentation/javascript/row-animation/', to: '/javascript-data-grid/row-animation/' },
    {
        from: '/documentation/javascript/row-dragging-to-external-dropzone/',
        to: '/javascript-data-grid/row-dragging-to-external-dropzone/',
    },
    { from: '/documentation/javascript/row-dragging-to-grid/', to: '/javascript-data-grid/row-dragging-to-grid/' },
    { from: '/documentation/javascript/row-dragging/', to: '/javascript-data-grid/row-dragging/' },
    { from: '/documentation/javascript/row-height/', to: '/javascript-data-grid/row-height/' },
    { from: '/documentation/javascript/row-models/', to: '/javascript-data-grid/row-models/' },
    { from: '/documentation/javascript/row-object/', to: '/javascript-data-grid/row-object/' },
    { from: '/documentation/javascript/row-pagination/', to: '/javascript-data-grid/row-pagination/' },
    { from: '/documentation/javascript/row-pinning/', to: '/javascript-data-grid/row-pinning/' },
    { from: '/documentation/javascript/row-selection/', to: '/javascript-data-grid/row-selection/' },
    { from: '/documentation/javascript/row-sorting/', to: '/javascript-data-grid/row-sorting/' },
    { from: '/documentation/javascript/row-spanning/', to: '/javascript-data-grid/row-spanning/' },
    { from: '/documentation/javascript/row-styles/', to: '/javascript-data-grid/row-styles/' },
    { from: '/documentation/javascript/rtl/', to: '/javascript-data-grid/rtl/' },
    { from: '/documentation/javascript/saving-content/', to: '/javascript-data-grid/saving-content/' },
    { from: '/documentation/javascript/scrolling-performance/', to: '/javascript-data-grid/scrolling-performance/' },
    { from: '/documentation/javascript/scrolling-scenarios/', to: '/javascript-data-grid/scrolling-performance/' },
    { from: '/documentation/javascript/security/', to: '/javascript-data-grid/security/' },
    { from: '/documentation/javascript/selection-overview/', to: '/javascript-data-grid/row-selection/' },
    { from: '/documentation/javascript/selection/', to: '/javascript-data-grid/row-selection/' },
    { from: '/documentation/javascript/selection/', to: '/javascript-data-grid/row-selection/' },
    {
        from: '/documentation/javascript/server-side-model-changing-columns/',
        to: '/javascript-data-grid/server-side-model-changing-columns/',
    },
    {
        from: '/documentation/javascript/server-side-model-datasource/',
        to: '/javascript-data-grid/server-side-model-datasource/',
    },
    {
        from: '/documentation/javascript/server-side-model-filtering/',
        to: '/javascript-data-grid/server-side-model-filtering/',
    },
    {
        from: '/documentation/javascript/server-side-model-grouping/',
        to: '/javascript-data-grid/server-side-model-grouping/',
    },
    {
        from: '/documentation/javascript/server-side-model-high-frequency/',
        to: '/javascript-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/javascript-data-grid/server-side-model-high-frequency/',
        to: '/javascript-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/documentation/javascript/server-side-model-master-detail/',
        to: '/javascript-data-grid/server-side-model-master-detail/',
    },
    {
        from: '/documentation/javascript/server-side-model-pagination/',
        to: '/javascript-data-grid/server-side-model-pagination/',
    },
    {
        from: '/documentation/javascript/server-side-model-pivoting/',
        to: '/javascript-data-grid/server-side-model-pivoting/',
    },
    {
        from: '/documentation/javascript/server-side-model-refresh/',
        to: '/javascript-data-grid/server-side-model-updating-refresh/',
    },
    {
        from: '/javascript-data-grid/server-side-model-refresh/',
        to: '/javascript-data-grid/server-side-model-updating-refresh/',
    },
    {
        from: '/documentation/javascript/server-side-model-retry/',
        to: '/javascript-data-grid/server-side-model-retry/',
    },
    {
        from: '/documentation/javascript/server-side-model-row-height/',
        to: '/javascript-data-grid/server-side-model-row-height/',
    },
    {
        from: '/documentation/javascript/server-side-model-selection/',
        to: '/javascript-data-grid/server-side-model-selection/',
    },
    {
        from: '/documentation/javascript/server-side-model-sorting/',
        to: '/javascript-data-grid/server-side-model-sorting/',
    },
    {
        from: '/documentation/javascript/server-side-model-transactions/',
        to: '/javascript-data-grid/server-side-model-updating-refresh/',
    },
    {
        from: '/javascript-data-grid/server-side-model-transactions/',
        to: '/javascript-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/documentation/javascript/server-side-model-tree-data/',
        to: '/javascript-data-grid/server-side-model-tree-data/',
    },
    {
        from: '/documentation/javascript/server-side-model-updating/',
        to: '/javascript-data-grid/server-side-model-updating/',
    },
    { from: '/documentation/javascript/server-side-model/', to: '/javascript-data-grid/server-side-model/' },
    {
        from: '/documentation/javascript/server-side-operations-graphql/',
        to: '/javascript-data-grid/server-side-operations-graphql/',
    },
    {
        from: '/documentation/javascript/server-side-operations-nodejs/',
        to: '/javascript-data-grid/server-side-operations-nodejs/',
    },
    {
        from: '/documentation/javascript/server-side-operations-oracle/',
        to: '/javascript-data-grid/server-side-operations-oracle/',
    },
    {
        from: '/documentation/javascript/server-side-operations-spark/',
        to: '/javascript-data-grid/server-side-operations-spark/',
    },
    { from: '/documentation/javascript/side-bar/', to: '/javascript-data-grid/side-bar/' },
    { from: '/documentation/javascript/status-bar/', to: '/javascript-data-grid/status-bar/' },
    { from: '/documentation/javascript/supported-browsers/', to: '/javascript-data-grid/supported-browsers/' },
    { from: '/documentation/javascript/testing/', to: '/javascript-data-grid/testing/' },
    { from: '/documentation/javascript/themes-customising/', to: '/javascript-data-grid/themes/' },
    { from: '/documentation/javascript/themes-provided/', to: '/javascript-data-grid/themes/' },
    { from: '/documentation/javascript/themes/', to: '/javascript-data-grid/themes/' },
    { from: '/documentation/javascript/tool-panel-columns/', to: '/javascript-data-grid/tool-panel-columns/' },
    { from: '/documentation/javascript/tool-panel-filters/', to: '/javascript-data-grid/tool-panel-filters/' },
    { from: '/documentation/javascript/tool-panel/', to: '/javascript-data-grid/tool-panel/' },
    { from: '/documentation/javascript/touch/', to: '/javascript-data-grid/touch/' },
    { from: '/documentation/javascript/tree-data/', to: '/javascript-data-grid/tree-data/' },
    { from: '/documentation/javascript/undo-redo-edits/', to: '/javascript-data-grid/undo-redo-edits/' },
    { from: '/documentation/javascript/value-formatters/', to: '/javascript-data-grid/value-formatters/' },
    { from: '/documentation/javascript/value-getters/', to: '/javascript-data-grid/value-getters/' },
    { from: '/documentation/javascript/value-parsers/', to: '/javascript-data-grid/value-parsers/' },
    { from: '/documentation/javascript/value-setters/', to: '/javascript-data-grid/value-setters/' },
    { from: '/documentation/javascript/view-refresh/', to: '/javascript-data-grid/view-refresh/' },
    { from: '/documentation/javascript/viewport/', to: '/javascript-data-grid/viewport/' },
    { from: '/documentation/javascript/', to: '/javascript-data-grid/' },
    { from: '/documentation/react/accessibility/', to: '/react-data-grid/accessibility/' },
    { from: '/documentation/react/accessing-data/', to: '/react-data-grid/accessing-data/' },
    { from: '/documentation/react/aggregation/', to: '/react-data-grid/aggregation/' },
    { from: '/documentation/react/aligned-grids/', to: '/react-data-grid/aligned-grids/' },
    { from: '/documentation/react/cell-content/', to: '/react-data-grid/cell-content/' },
    { from: '/documentation/react/cell-editing/', to: '/react-data-grid/cell-editing/' },
    { from: '/documentation/react/cell-expressions/', to: '/react-data-grid/cell-expressions/' },
    { from: '/documentation/react/cell-rendering/', to: '/react-data-grid/component-cell-renderer/' },
    { from: '/documentation/react/cell-styles/', to: '/react-data-grid/cell-styles/' },
    { from: '/documentation/react/change-cell-renderers/', to: '/react-data-grid/change-cell-renderers/' },
    { from: '/documentation/react/change-detection/', to: '/react-data-grid/change-detection/' },
    { from: '/documentation/react/client-side-model/', to: '/react-data-grid/row-models/' },
    { from: '/documentation/react/clipboard/', to: '/react-data-grid/clipboard/' },
    { from: '/documentation/react/column-api/', to: '/react-data-grid/column-api/' },
    { from: '/documentation/react/column-definitions/', to: '/react-data-grid/column-definitions/' },
    { from: '/documentation/react/column-groups/', to: '/react-data-grid/column-groups/' },
    { from: '/documentation/react/column-headers/', to: '/react-data-grid/column-headers/' },
    { from: '/documentation/react/column-interface/', to: '/react-data-grid/column-interface/' },
    { from: '/documentation/react/column-menu/', to: '/react-data-grid/column-menu/' },
    { from: '/documentation/react/column-moving/', to: '/react-data-grid/column-moving/' },
    { from: '/documentation/react/column-object/', to: '/react-data-grid/column-object/' },
    { from: '/documentation/react/column-pinning/', to: '/react-data-grid/column-pinning/' },
    { from: '/documentation/react/column-properties/', to: '/react-data-grid/column-properties/' },
    { from: '/documentation/react/column-sizing/', to: '/react-data-grid/column-sizing/' },
    { from: '/documentation/react/column-spanning/', to: '/react-data-grid/column-spanning/' },
    { from: '/documentation/react/column-state/', to: '/react-data-grid/column-state/' },
    { from: '/documentation/react/column-updating-definitions/', to: '/react-data-grid/column-updating-definitions/' },
    { from: '/documentation/react/component-cell-editor/', to: '/react-data-grid/cell-editors/' },
    { from: '/documentation/react/component-cell-renderer/', to: '/react-data-grid/component-cell-renderer/' },
    { from: '/documentation/react/component-date/', to: '/react-data-grid/filter-date/' },
    { from: '/documentation/react/component-filter/', to: '/react-data-grid/component-filter/' },
    { from: '/documentation/react/component-floating-filter/', to: '/react-data-grid/component-floating-filter/' },
    { from: '/documentation/react/component-header/', to: '/react-data-grid/column-headers/' },
    {
        from: '/documentation/react/component-loading-cell-renderer/',
        to: '/react-data-grid/component-loading-cell-renderer/',
    },
    { from: '/documentation/react/component-overlay/', to: '/react-data-grid/overlays/' },
    { from: '/documentation/react/component-status-bar/', to: '/react-data-grid/status-bar/' },
    { from: '/documentation/react/component-styling/', to: '/react-data-grid/' },
    { from: '/documentation/react/component-tool-panel/', to: '/react-data-grid/component-tool-panel/' },
    { from: '/documentation/react/component-tooltip/', to: '/react-data-grid/tooltips/' },
    { from: '/documentation/react/component-types/', to: '/react-data-grid/components/' },
    { from: '/documentation/react/components/', to: '/react-data-grid/components/' },
    { from: '/documentation/react/context-menu/', to: '/react-data-grid/context-menu/' },
    { from: '/documentation/react/context/', to: '/react-data-grid/context/' },
    { from: '/documentation/react/csv-export/', to: '/react-data-grid/csv-export/' },
    { from: '/documentation/react/custom-icons/', to: '/react-data-grid/custom-icons/' },
    { from: '/documentation/react/data-update-high-frequency/', to: '/react-data-grid/data-update-high-frequency/' },
    { from: '/documentation/react/data-update-single-row-cell/', to: '/react-data-grid/data-update-single-row-cell/' },
    { from: '/documentation/react/data-update-transactions/', to: '/react-data-grid/data-update-transactions/' },
    { from: '/documentation/react/data-update/', to: '/react-data-grid/data-update/' },
    { from: '/documentation/react/dom-virtualisation/', to: '/react-data-grid/dom-virtualisation/' },
    { from: '/documentation/react/drag-and-drop/', to: '/react-data-grid/drag-and-drop/' },
    { from: '/documentation/react/excel-export/', to: '/react-data-grid/excel-export/' },
    { from: '/documentation/react/excel-import/', to: '/react-data-grid/excel-import/' },
    { from: '/documentation/react/export/', to: '/react-data-grid/excel-export/' },
    { from: '/documentation/react/expressions-and-context/', to: '/react-data-grid/context/' },
    { from: '/documentation/react/filter-api/', to: '/react-data-grid/filter-api/' },
    { from: '/documentation/react/filter-custom/', to: '/react-data-grid/component-filter/' },
    { from: '/documentation/react/filter-date/', to: '/react-data-grid/filter-date/' },
    { from: '/documentation/react/filter-external/', to: '/react-data-grid/filter-external/' },
    { from: '/documentation/react/filter-multi/', to: '/react-data-grid/filter-multi/' },
    { from: '/documentation/react/filter-number/', to: '/react-data-grid/filter-number/' },
    { from: '/documentation/react/filter-provided-simple/', to: '/react-data-grid/filtering/' },
    { from: '/documentation/react/filter-provided/', to: '/react-data-grid/filtering/' },
    { from: '/documentation/react/filter-quick/', to: '/react-data-grid/filter-quick/' },
    { from: '/documentation/react/filter-set-api/', to: '/react-data-grid/filter-set-api/' },
    { from: '/documentation/react/filter-set-data-updates/', to: '/react-data-grid/filter-set-data-updates/' },
    { from: '/documentation/react/filter-set-excel-mode/', to: '/react-data-grid/filter-set-excel-mode/' },
    { from: '/documentation/react/filter-set-filter-list/', to: '/react-data-grid/filter-set-filter-list/' },
    { from: '/documentation/react/filter-set-mini-filter/', to: '/react-data-grid/filter-set-mini-filter/' },
    { from: '/documentation/react/filter-set/', to: '/react-data-grid/filter-set/' },
    { from: '/documentation/react/filter-text/', to: '/react-data-grid/filter-text/' },
    { from: '/documentation/react/filtering-overview/', to: '/react-data-grid/filtering-overview/' },
    { from: '/documentation/react/filtering/', to: '/react-data-grid/filtering/' },
    { from: '/documentation/react/fine-tuning/', to: '/react-data-grid/react-hooks/' },
    { from: '/documentation/react-data-grid/fine-tuning/', to: '/react-data-grid/react-hooks/' },
    { from: '/documentation/react/flashing-cells/', to: '/react-data-grid/change-cell-renderers/' },
    { from: '/documentation/react/floating-filters/', to: '/react-data-grid/floating-filters/' },
    { from: '/documentation/react/framework-hoc/', to: '/react-data-grid/components/' },
    { from: '/documentation/react/full-width-rows/', to: '/react-data-grid/full-width-rows/' },
    { from: '/documentation/react/getting-started/', to: '/react-data-grid/getting-started/' },
    { from: '/documentation/react/grid-api/', to: '/react-data-grid/grid-api/' },
    { from: '/documentation/react/grid-callbacks/', to: '/react-data-grid/grid-options/' },
    { from: '/documentation/react/grid-events/', to: '/react-data-grid/grid-events/' },
    { from: '/documentation/react/grid-features/', to: 'https://www.ag-grid.com/' },
    { from: '/documentation/react/grid-interface/', to: '/react-data-grid/grid-interface/' },
    { from: '/documentation/react/grid-properties/', to: '/react-data-grid/grid-options/' },
    { from: '/documentation/react/grid-size/', to: '/react-data-grid/grid-size/' },
    { from: '/documentation/react/group-cell-renderer/', to: '/react-data-grid/grouping/' },
    { from: '/documentation/react/grouping/', to: '/react-data-grid/grouping/' },
    { from: '/documentation/react/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/react-data-grid/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/documentation/react/infinite-scrolling/', to: '/react-data-grid/infinite-scrolling/' },
    { from: '/documentation/react/integrated-charts-container/', to: '/react-data-grid/integrated-charts-container/' },
    {
        from: '/documentation/react/integrated-charts-customisation/',
        to: '/react-data-grid/integrated-charts-customisation/',
    },
    { from: '/documentation/react/integrated-charts-events/', to: '/react-data-grid/integrated-charts-events/' },
    {
        from: '/documentation/react/integrated-charts-pivot-chart/',
        to: '/react-data-grid/integrated-charts-pivot-chart/',
    },
    {
        from: '/documentation/react/integrated-charts-range-chart/',
        to: '/react-data-grid/integrated-charts-range-chart/',
    },
    {
        from: '/documentation/react/integrated-charts-time-series/',
        to: '/react-data-grid/integrated-charts-time-series/',
    },
    { from: '/documentation/react/integrated-charts-toolbar/', to: '/react-data-grid/integrated-charts-menu/' },
    { from: '/documentation/react/integrated-charts/', to: '/react-data-grid/integrated-charts/' },
    { from: '/documentation/react/keyboard-navigation/', to: '/react-data-grid/keyboard-navigation/' },
    { from: '/documentation/react/licensing/', to: '/react-data-grid/community-vs-enterprise/' },
    { from: '/documentation/react/localisation/', to: '/react-data-grid/localisation/' },
    { from: '/documentation/react/master-detail-custom-detail/', to: '/react-data-grid/master-detail-custom-detail/' },
    { from: '/documentation/react/master-detail-grids/', to: '/react-data-grid/master-detail-grids/' },
    { from: '/documentation/react/master-detail-height/', to: '/react-data-grid/master-detail-height/' },
    { from: '/documentation/react/master-detail-master-rows/', to: '/react-data-grid/master-detail-master-rows/' },
    { from: '/documentation/react/master-detail-nesting/', to: '/react-data-grid/master-detail-nesting/' },
    { from: '/documentation/react/master-detail-other/', to: '/react-data-grid/master-detail-other/' },
    { from: '/documentation/react/master-detail-refresh/', to: '/react-data-grid/master-detail-refresh/' },
    { from: '/documentation/react/master-detail/', to: '/react-data-grid/master-detail/' },
    { from: '/documentation/react/modules-building/', to: '/react-data-grid/modules/' },
    { from: '/react-data-grid/modules-building/', to: '/react-data-grid/modules/' },
    { from: '/documentation/react/modules-more-details/', to: '/react-data-grid/modules/' },
    { from: '/react-data-grid/modules-more-details/', to: '/react-data-grid/modules/' },
    { from: '/documentation/react/modules/', to: '/react-data-grid/modules/' },
    { from: '/documentation/react/overlays/', to: '/react-data-grid/overlays/' },
    { from: '/documentation/react/packages-modules/', to: '/react-data-grid/modules/' },
    { from: '/documentation/react/packages/', to: '/react-data-grid/modules/' },
    { from: '/documentation/react/pivoting/', to: '/react-data-grid/pivoting/' },
    { from: '/documentation/react/printing/', to: '/react-data-grid/printing/' },
    { from: '/documentation/react/provided-cell-editors/', to: '/react-data-grid/provided-cell-editors/' },
    { from: '/documentation/react/range-selection-fill-handle/', to: '/react-data-grid/cell-selection-fill-handle/' },
    { from: '/documentation/react/range-selection-handle/', to: '/react-data-grid/cell-selection-handle/' },
    { from: '/documentation/react/range-selection/', to: '/react-data-grid/cell-selection/' },
    { from: '/documentation/react/react-hooks/', to: '/react-data-grid/react-hooks/' },
    { from: '/documentation/react/redux-integration-pt1/', to: '/react-data-grid/getting-started/' },
    { from: '/documentation/react/redux-integration-pt2/', to: '/react-data-grid/getting-started/' },
    { from: '/documentation/react/reference-data/', to: '/react-data-grid/reference-data/' },
    { from: '/documentation/react/rendering-api/', to: '/react-data-grid/dom-virtualisation/' },
    { from: '/documentation/react/row-animation/', to: '/react-data-grid/row-animation/' },
    {
        from: '/documentation/react/row-dragging-to-external-dropzone/',
        to: '/react-data-grid/row-dragging-to-external-dropzone/',
    },
    { from: '/documentation/react/row-dragging-to-grid/', to: '/react-data-grid/row-dragging-to-grid/' },
    { from: '/documentation/react/row-dragging/', to: '/react-data-grid/row-dragging/' },
    { from: '/documentation/react/row-height/', to: '/react-data-grid/row-height/' },
    { from: '/documentation/react/row-models/', to: '/react-data-grid/row-models/' },
    { from: '/documentation/react/row-object/', to: '/react-data-grid/row-object/' },
    { from: '/documentation/react/row-pagination/', to: '/react-data-grid/row-pagination/' },
    { from: '/documentation/react/row-pinning/', to: '/react-data-grid/row-pinning/' },
    { from: '/documentation/react/row-selection/', to: '/react-data-grid/row-selection/' },
    { from: '/documentation/react/row-sorting/', to: '/react-data-grid/row-sorting/' },
    { from: '/documentation/react/row-spanning/', to: '/react-data-grid/row-spanning/' },
    { from: '/documentation/react/row-styles/', to: '/react-data-grid/row-styles/' },
    { from: '/documentation/react/rtl/', to: '/react-data-grid/rtl/' },
    { from: '/documentation/react/rxjs/', to: '/react-data-grid/data-update/' },
    { from: '/documentation/react/saving-content/', to: '/react-data-grid/saving-content/' },
    { from: '/documentation/react/scrolling-performance/', to: '/react-data-grid/scrolling-performance/' },
    { from: '/documentation/react/scrolling-scenarios/', to: '/react-data-grid/scrolling-performance/' },
    { from: '/documentation/react/security/', to: '/react-data-grid/security/' },
    { from: '/documentation/react/selection-overview/', to: '/react-data-grid/row-selection/' },
    {
        from: '/documentation/react/server-side-model-changing-columns/',
        to: '/react-data-grid/server-side-model-changing-columns/',
    },
    {
        from: '/documentation/react/server-side-model-datasource/',
        to: '/react-data-grid/server-side-model-datasource/',
    },
    { from: '/documentation/react/server-side-model-filtering/', to: '/react-data-grid/server-side-model-filtering/' },
    { from: '/documentation/react/server-side-model-grouping/', to: '/react-data-grid/server-side-model-grouping/' },
    {
        from: '/documentation/react/server-side-model-high-frequency/',
        to: '/react-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/react-data-grid/server-side-model-high-frequency/',
        to: '/react-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/documentation/react/server-side-model-master-detail/',
        to: '/react-data-grid/server-side-model-master-detail/',
    },
    {
        from: '/documentation/react/server-side-model-pagination/',
        to: '/react-data-grid/server-side-model-pagination/',
    },
    { from: '/documentation/react/server-side-model-pivoting/', to: '/react-data-grid/server-side-model-pivoting/' },
    {
        from: '/documentation/react/server-side-model-refresh/',
        to: '/react-data-grid/server-side-model-updating-refresh/',
    },
    { from: '/react-data-grid/server-side-model-refresh/', to: '/react-data-grid/server-side-model-updating-refresh/' },
    { from: '/documentation/react/server-side-model-retry/', to: '/react-data-grid/server-side-model-retry/' },
    {
        from: '/documentation/react/server-side-model-row-height/',
        to: '/react-data-grid/server-side-model-row-height/',
    },
    { from: '/documentation/react/server-side-model-selection/', to: '/react-data-grid/server-side-model-selection/' },
    { from: '/documentation/react/server-side-model-sorting/', to: '/react-data-grid/server-side-model-sorting/' },
    {
        from: '/documentation/react/server-side-model-transactions/',
        to: '/react-data-grid/server-side-model-updating-refresh/',
    },
    {
        from: '/react-data-grid/server-side-model-transactions/',
        to: '/react-data-grid/server-side-model-updating-transactions/',
    },
    { from: '/documentation/react/server-side-model-tree-data/', to: '/react-data-grid/server-side-model-tree-data/' },
    { from: '/documentation/react/server-side-model-updating/', to: '/react-data-grid/server-side-model-updating/' },
    { from: '/documentation/react/server-side-model/', to: '/react-data-grid/server-side-model/' },
    {
        from: '/documentation/react/server-side-operations-graphql/',
        to: '/react-data-grid/server-side-operations-graphql/',
    },
    {
        from: '/documentation/react/server-side-operations-nodejs/',
        to: '/react-data-grid/server-side-operations-nodejs/',
    },
    {
        from: '/documentation/react/server-side-operations-oracle/',
        to: '/react-data-grid/server-side-operations-oracle/',
    },
    {
        from: '/documentation/react/server-side-operations-spark/',
        to: '/react-data-grid/server-side-operations-spark/',
    },
    { from: '/documentation/react/side-bar/', to: '/react-data-grid/side-bar/' },
    { from: '/documentation/react/status-bar/', to: '/react-data-grid/status-bar/' },
    { from: '/documentation/react/supported-browsers/', to: '/react-data-grid/supported-browsers/' },
    { from: '/documentation/react/testing/', to: '/react-data-grid/testing/' },
    { from: '/documentation/react/themes-customising/', to: '/react-data-grid/themes/' },
    { from: '/documentation/react/themes-provided/', to: '/react-data-grid/themes/' },
    { from: '/documentation/react/themes/', to: '/react-data-grid/themes/' },
    { from: '/documentation/react/tool-panel-columns/', to: '/react-data-grid/tool-panel-columns/' },
    { from: '/documentation/react/tool-panel-filters/', to: '/react-data-grid/tool-panel-filters/' },
    { from: '/documentation/react/tool-panel/', to: '/react-data-grid/tool-panel/' },
    { from: '/documentation/react/touch/', to: '/react-data-grid/touch/' },
    { from: '/documentation/react/tree-data/', to: '/react-data-grid/tree-data/' },
    { from: '/documentation/react/undo-redo-edits/', to: '/react-data-grid/undo-redo-edits/' },
    { from: '/documentation/react/value-formatters/', to: '/react-data-grid/value-formatters/' },
    { from: '/documentation/react/value-getters/', to: '/react-data-grid/value-getters/' },
    { from: '/documentation/react/value-parsers/', to: '/react-data-grid/value-parsers/' },
    { from: '/documentation/react/value-setters/', to: '/react-data-grid/value-setters/' },
    { from: '/documentation/react/view-refresh/', to: '/react-data-grid/view-refresh/' },
    { from: '/documentation/react/viewport/', to: '/react-data-grid/viewport/' },
    { from: '/documentation/react/', to: '/react-data-grid/' },
    { from: '/documentation/vue/accessibility/', to: '/vue-data-grid/accessibility/' },
    { from: '/documentation/vue/accessing-data/', to: '/vue-data-grid/accessing-data/' },
    { from: '/documentation/vue/aggregation/', to: '/vue-data-grid/aggregation/' },
    { from: '/documentation/vue/aligned-grids/', to: '/vue-data-grid/aligned-grids/' },
    { from: '/documentation/vue/cell-content/', to: '/vue-data-grid/cell-content/' },
    { from: '/documentation/vue/cell-editing/', to: '/vue-data-grid/cell-editing/' },
    { from: '/documentation/vue/cell-expressions/', to: '/vue-data-grid/cell-expressions/' },
    { from: '/documentation/vue/cell-rendering/', to: '/vue-data-grid/component-cell-renderer/' },
    { from: '/documentation/vue/cell-styles/', to: '/vue-data-grid/cell-styles/' },
    { from: '/documentation/vue/change-cell-renderers/', to: '/vue-data-grid/change-cell-renderers/' },
    { from: '/documentation/vue/change-detection/', to: '/vue-data-grid/change-detection/' },
    { from: '/documentation/vue/client-side-model/', to: '/vue-data-grid/row-models/' },
    { from: '/documentation/vue/clipboard/', to: '/vue-data-grid/clipboard/' },
    { from: '/documentation/vue/column-api/', to: '/vue-data-grid/column-api/' },
    { from: '/documentation/vue/column-definitions/', to: '/vue-data-grid/column-definitions/' },
    { from: '/documentation/vue/column-groups/', to: '/vue-data-grid/column-groups/' },
    { from: '/documentation/vue/column-headers/', to: '/vue-data-grid/column-headers/' },
    { from: '/documentation/vue/column-interface/', to: '/vue-data-grid/column-interface/' },
    { from: '/documentation/vue/column-menu/', to: '/vue-data-grid/column-menu/' },
    { from: '/documentation/vue/column-moving/', to: '/vue-data-grid/column-moving/' },
    { from: '/documentation/vue/column-object/', to: '/vue-data-grid/column-object/' },
    { from: '/documentation/vue/column-pinning/', to: '/vue-data-grid/column-pinning/' },
    { from: '/documentation/vue/column-properties/', to: '/vue-data-grid/column-properties/' },
    { from: '/documentation/vue/column-sizing/', to: '/vue-data-grid/column-sizing/' },
    { from: '/documentation/vue/column-spanning/', to: '/vue-data-grid/column-spanning/' },
    { from: '/documentation/vue/column-state/', to: '/vue-data-grid/column-state/' },
    { from: '/documentation/vue/column-updating-definitions/', to: '/vue-data-grid/column-updating-definitions/' },
    { from: '/documentation/vue/component-cell-editor/', to: '/vue-data-grid/cell-editors/' },
    { from: '/documentation/vue/component-cell-renderer/', to: '/vue-data-grid/component-cell-renderer/' },
    { from: '/documentation/vue/component-communication/', to: '/vue-data-grid/components/' },
    { from: '/documentation/vue/component-date/', to: '/vue-data-grid/filter-date/' },
    { from: '/documentation/vue/component-filter/', to: '/vue-data-grid/component-filter/' },
    { from: '/documentation/vue/component-floating-filter/', to: '/vue-data-grid/component-floating-filter/' },
    { from: '/documentation/vue/component-header/', to: '/vue-data-grid/column-headers/' },
    {
        from: '/documentation/vue/component-loading-cell-renderer/',
        to: '/vue-data-grid/component-loading-cell-renderer/',
    },
    { from: '/documentation/vue/component-overlay/', to: '/vue-data-grid/overlays/' },
    { from: '/documentation/vue/component-status-bar/', to: '/vue-data-grid/status-bar/' },
    { from: '/documentation/vue/component-tool-panel/', to: '/vue-data-grid/component-tool-panel/' },
    { from: '/documentation/vue/component-tooltip/', to: '/vue-data-grid/tooltips/' },
    { from: '/documentation/vue/component-types/', to: '/vue-data-grid/components/' },
    { from: '/documentation/vue/components/', to: '/vue-data-grid/components/' },
    { from: '/documentation/vue/context-menu/', to: '/vue-data-grid/context-menu/' },
    { from: '/documentation/vue/context/', to: '/vue-data-grid/context/' },
    { from: '/documentation/vue/csv-export/', to: '/vue-data-grid/csv-export/' },
    { from: '/documentation/vue/custom-icons/', to: '/vue-data-grid/custom-icons/' },
    { from: '/documentation/vue/data-update-high-frequency/', to: '/vue-data-grid/data-update-high-frequency/' },
    { from: '/documentation/vue/data-update-single-row-cell/', to: '/vue-data-grid/data-update-single-row-cell/' },
    { from: '/documentation/vue/data-update-transactions/', to: '/vue-data-grid/data-update-transactions/' },
    { from: '/documentation/vue/data-update/', to: '/vue-data-grid/data-update/' },
    { from: '/documentation/vue/dom-virtualisation/', to: '/vue-data-grid/dom-virtualisation/' },
    { from: '/documentation/vue/drag-and-drop/', to: '/vue-data-grid/drag-and-drop/' },
    { from: '/documentation/vue/excel-export/', to: '/vue-data-grid/excel-export/' },
    { from: '/documentation/vue/excel-import/', to: '/vue-data-grid/excel-import/' },
    { from: '/documentation/vue/export/', to: '/vue-data-grid/excel-export/' },
    { from: '/documentation/vue/expressions-and-context/', to: '/vue-data-grid/context/' },
    { from: '/documentation/vue/filter-api/', to: '/vue-data-grid/filter-api/' },
    { from: '/documentation/vue/filter-custom/', to: '/vue-data-grid/component-filter/' },
    { from: '/documentation/vue/filter-date/', to: '/vue-data-grid/filter-date/' },
    { from: '/documentation/vue/filter-external/', to: '/vue-data-grid/filter-external/' },
    { from: '/documentation/vue/filter-multi/', to: '/vue-data-grid/filter-multi/' },
    { from: '/documentation/vue/filter-number/', to: '/vue-data-grid/filter-number/' },
    { from: '/documentation/vue/filter-provided-simple/', to: '/vue-data-grid/filtering/' },
    { from: '/documentation/vue/filter-provided/', to: '/vue-data-grid/filtering/' },
    { from: '/documentation/vue/filter-quick/', to: '/vue-data-grid/filter-quick/' },
    { from: '/documentation/vue/filter-set-api/', to: '/vue-data-grid/filter-set-api/' },
    { from: '/documentation/vue/filter-set-data-updates/', to: '/vue-data-grid/filter-set-data-updates/' },
    { from: '/documentation/vue/filter-set-excel-mode/', to: '/vue-data-grid/filter-set-excel-mode/' },
    { from: '/documentation/vue/filter-set-filter-list/', to: '/vue-data-grid/filter-set-filter-list/' },
    { from: '/documentation/vue/filter-set-mini-filter/', to: '/vue-data-grid/filter-set-mini-filter/' },
    { from: '/documentation/vue/filter-set/', to: '/vue-data-grid/filter-set/' },
    { from: '/documentation/vue/filter-text/', to: '/vue-data-grid/filter-text/' },
    { from: '/documentation/vue/filtering-overview/', to: '/vue-data-grid/filtering-overview/' },
    { from: '/documentation/vue/filtering/', to: '/vue-data-grid/filtering/' },
    { from: '/documentation/vue/flashing-cells/', to: '/vue-data-grid/change-cell-renderers/' },
    { from: '/documentation/vue/floating-filters/', to: '/vue-data-grid/floating-filters/' },
    { from: '/documentation/vue/full-width-rows/', to: '/vue-data-grid/full-width-rows/' },
    { from: '/documentation/vue/getting-started/', to: '/vue-data-grid/getting-started/' },
    { from: '/documentation/vue/grid-api/', to: '/vue-data-grid/grid-api/' },
    { from: '/documentation/vue/grid-callbacks/', to: '/vue-data-grid/grid-options/' },
    { from: '/documentation/vue/grid-events/', to: '/vue-data-grid/grid-events/' },
    { from: '/documentation/vue/grid-features/', to: 'https://www.ag-grid.com/' },
    { from: '/documentation/vue/grid-interface/', to: '/vue-data-grid/grid-interface/' },
    { from: '/documentation/vue/grid-properties/', to: '/vue-data-grid/grid-options/' },
    { from: '/documentation/vue/grid-size/', to: '/vue-data-grid/grid-size/' },
    { from: '/documentation/vue/group-cell-renderer/', to: '/vue-data-grid/grouping/' },
    { from: '/documentation/vue/grouping/', to: '/vue-data-grid/grouping/' },
    { from: '/documentation/vue/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/vue-data-grid/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/documentation/vue/infinite-scrolling/', to: '/vue-data-grid/infinite-scrolling/' },
    { from: '/documentation/vue/integrated-charts-container/', to: '/vue-data-grid/integrated-charts-container/' },
    {
        from: '/documentation/vue/integrated-charts-customisation/',
        to: '/vue-data-grid/integrated-charts-customisation/',
    },
    { from: '/documentation/vue/integrated-charts-events/', to: '/vue-data-grid/integrated-charts-events/' },
    { from: '/documentation/vue/integrated-charts-pivot-chart/', to: '/vue-data-grid/integrated-charts-pivot-chart/' },
    { from: '/documentation/vue/integrated-charts-range-chart/', to: '/vue-data-grid/integrated-charts-range-chart/' },
    { from: '/documentation/vue/integrated-charts-time-series/', to: '/vue-data-grid/integrated-charts-time-series/' },
    { from: '/documentation/vue/integrated-charts-toolbar/', to: '/vue-data-grid/integrated-charts-menu/' },
    { from: '/documentation/vue/integrated-charts/', to: '/vue-data-grid/integrated-charts/' },
    { from: '/documentation/vue/keyboard-navigation/', to: '/vue-data-grid/keyboard-navigation/' },
    { from: '/documentation/vue/licensing/', to: '/vue-data-grid/community-vs-enterprise/' },
    { from: '/documentation/vue/localisation/', to: '/vue-data-grid/localisation/' },
    { from: '/documentation/vue/master-detail-custom-detail/', to: '/vue-data-grid/master-detail-custom-detail/' },
    { from: '/documentation/vue/master-detail-grids/', to: '/vue-data-grid/master-detail-grids/' },
    { from: '/documentation/vue/master-detail-height/', to: '/vue-data-grid/master-detail-height/' },
    { from: '/documentation/vue/master-detail-master-rows/', to: '/vue-data-grid/master-detail-master-rows/' },
    { from: '/documentation/vue/master-detail-nesting/', to: '/vue-data-grid/master-detail-nesting/' },
    { from: '/documentation/vue/master-detail-other/', to: '/vue-data-grid/master-detail-other/' },
    { from: '/documentation/vue/master-detail-refresh/', to: '/vue-data-grid/master-detail-refresh/' },
    { from: '/documentation/vue/master-detail/', to: '/vue-data-grid/master-detail/' },
    { from: '/documentation/vue/modules-building/', to: '/vue-data-grid/modules/' },
    { from: '/vue-data-grid/modules-building/', to: '/vue-data-grid/modules/' },
    { from: '/documentation/vue/modules-more-details/', to: '/vue-data-grid/modules/' },
    { from: '/vue-data-grid/modules-more-details/', to: '/vue-data-grid/modules/' },
    { from: '/documentation/vue/modules/', to: '/vue-data-grid/modules/' },
    { from: '/documentation/vue/overlays/', to: '/vue-data-grid/overlays/' },
    { from: '/documentation/vue/packages-modules/', to: '/vue-data-grid/modules/' },
    { from: '/documentation/vue/packages/', to: '/vue-data-grid/modules/' },
    { from: '/documentation/vue/pivoting/', to: '/vue-data-grid/pivoting/' },
    { from: '/documentation/vue/printing/', to: '/vue-data-grid/printing/' },
    { from: '/documentation/vue/provided-cell-editors/', to: '/vue-data-grid/provided-cell-editors/' },
    { from: '/documentation/vue/range-selection-fill-handle/', to: '/vue-data-grid/cell-selection-fill-handle/' },
    { from: '/documentation/vue/range-selection-handle/', to: '/vue-data-grid/cell-selection-handle/' },
    { from: '/documentation/vue/range-selection/', to: '/vue-data-grid/cell-selection/' },
    { from: '/documentation/vue/reference-data/', to: '/vue-data-grid/reference-data/' },
    { from: '/documentation/vue/rendering-api/', to: '/vue-data-grid/dom-virtualisation/' },
    { from: '/documentation/vue/row-animation/', to: '/vue-data-grid/row-animation/' },
    {
        from: '/documentation/vue/row-dragging-to-external-dropzone/',
        to: '/vue-data-grid/row-dragging-to-external-dropzone/',
    },
    { from: '/documentation/vue/row-dragging-to-grid/', to: '/vue-data-grid/row-dragging-to-grid/' },
    { from: '/documentation/vue/row-dragging/', to: '/vue-data-grid/row-dragging/' },
    { from: '/documentation/vue/row-height/', to: '/vue-data-grid/row-height/' },
    { from: '/documentation/vue/row-models/', to: '/vue-data-grid/row-models/' },
    { from: '/documentation/vue/row-object/', to: '/vue-data-grid/row-object/' },
    { from: '/documentation/vue/row-pagination/', to: '/vue-data-grid/row-pagination/' },
    { from: '/documentation/vue/row-pinning/', to: '/vue-data-grid/row-pinning/' },
    { from: '/documentation/vue/row-selection/', to: '/vue-data-grid/row-selection/' },
    { from: '/documentation/vue/row-sorting/', to: '/vue-data-grid/row-sorting/' },
    { from: '/documentation/vue/row-spanning/', to: '/vue-data-grid/row-spanning/' },
    { from: '/documentation/vue/row-styles/', to: '/vue-data-grid/row-styles/' },
    { from: '/documentation/vue/rtl/', to: '/vue-data-grid/rtl/' },
    { from: '/documentation/vue/rxjs/', to: '/vue-data-grid/data-update/' },
    { from: '/documentation/vue/saving-content/', to: '/vue-data-grid/saving-content/' },
    { from: '/documentation/vue/scrolling-performance/', to: '/vue-data-grid/scrolling-performance/' },
    { from: '/documentation/vue/scrolling-scenarios/', to: '/vue-data-grid/scrolling-performance/' },
    { from: '/documentation/vue/security/', to: '/vue-data-grid/security/' },
    { from: '/documentation/vue/selection-overview/', to: '/vue-data-grid/row-selection/' },
    {
        from: '/documentation/vue/server-side-model-changing-columns/',
        to: '/vue-data-grid/server-side-model-changing-columns/',
    },
    { from: '/documentation/vue/server-side-model-datasource/', to: '/vue-data-grid/server-side-model-datasource/' },
    { from: '/documentation/vue/server-side-model-filtering/', to: '/vue-data-grid/server-side-model-filtering/' },
    { from: '/documentation/vue/server-side-model-grouping/', to: '/vue-data-grid/server-side-model-grouping/' },
    {
        from: '/documentation/vue/server-side-model-high-frequency/',
        to: '/vue-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/vue-data-grid/server-side-model-high-frequency/',
        to: '/vue-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/documentation/vue/server-side-model-master-detail/',
        to: '/vue-data-grid/server-side-model-master-detail/',
    },
    { from: '/documentation/vue/server-side-model-pagination/', to: '/vue-data-grid/server-side-model-pagination/' },
    { from: '/documentation/vue/server-side-model-pivoting/', to: '/vue-data-grid/server-side-model-pivoting/' },
    { from: '/documentation/vue/server-side-model-refresh/', to: '/vue-data-grid/server-side-model-updating-refresh/' },
    { from: '/vue-data-grid/server-side-model-refresh/', to: '/vue-data-grid/server-side-model-updating-refresh/' },
    { from: '/documentation/vue/server-side-model-retry/', to: '/vue-data-grid/server-side-model-retry/' },
    { from: '/documentation/vue/server-side-model-row-height/', to: '/vue-data-grid/server-side-model-row-height/' },
    { from: '/documentation/vue/server-side-model-selection/', to: '/vue-data-grid/server-side-model-selection/' },
    { from: '/documentation/vue/server-side-model-sorting/', to: '/vue-data-grid/server-side-model-sorting/' },
    {
        from: '/documentation/vue/server-side-model-transactions/',
        to: '/vue-data-grid/server-side-model-updating-refresh/',
    },
    {
        from: '/vue-data-grid/server-side-model-transactions/',
        to: '/vue-data-grid/server-side-model-updating-transactions/',
    },
    { from: '/documentation/vue/server-side-model-tree-data/', to: '/vue-data-grid/server-side-model-tree-data/' },
    { from: '/documentation/vue/server-side-model-updating/', to: '/vue-data-grid/server-side-model-updating/' },
    { from: '/documentation/vue/server-side-model/', to: '/vue-data-grid/server-side-model/' },
    {
        from: '/documentation/vue/server-side-operations-graphql/',
        to: '/vue-data-grid/server-side-operations-graphql/',
    },
    { from: '/documentation/vue/server-side-operations-nodejs/', to: '/vue-data-grid/server-side-operations-nodejs/' },
    { from: '/documentation/vue/server-side-operations-oracle/', to: '/vue-data-grid/server-side-operations-oracle/' },
    { from: '/documentation/vue/server-side-operations-spark/', to: '/vue-data-grid/server-side-operations-spark/' },
    { from: '/documentation/vue/side-bar/', to: '/vue-data-grid/side-bar/' },
    { from: '/documentation/vue/status-bar/', to: '/vue-data-grid/status-bar/' },
    { from: '/documentation/vue/supported-browsers/', to: '/vue-data-grid/supported-browsers/' },
    { from: '/documentation/vue/testing/', to: '/vue-data-grid/testing/' },
    { from: '/documentation/vue/themes-customising/', to: '/vue-data-grid/themes/' },
    { from: '/documentation/vue/themes-provided/', to: '/vue-data-grid/themes/' },
    { from: '/documentation/vue/themes/', to: '/vue-data-grid/themes/' },
    { from: '/documentation/vue/tool-panel-columns/', to: '/vue-data-grid/tool-panel-columns/' },
    { from: '/documentation/vue/tool-panel-filters/', to: '/vue-data-grid/tool-panel-filters/' },
    { from: '/documentation/vue/tool-panel/', to: '/vue-data-grid/tool-panel/' },
    { from: '/documentation/vue/touch/', to: '/vue-data-grid/touch/' },
    { from: '/documentation/vue/tree-data/', to: '/vue-data-grid/tree-data/' },
    { from: '/documentation/vue/undo-redo-edits/', to: '/vue-data-grid/undo-redo-edits/' },
    { from: '/documentation/vue/value-formatters/', to: '/vue-data-grid/value-formatters/' },
    { from: '/documentation/vue/value-getters/', to: '/vue-data-grid/value-getters/' },
    { from: '/documentation/vue/value-parsers/', to: '/vue-data-grid/value-parsers/' },
    { from: '/documentation/vue/value-setters/', to: '/vue-data-grid/value-setters/' },
    { from: '/documentation/vue/view-refresh/', to: '/vue-data-grid/view-refresh/' },
    { from: '/documentation/vue/viewport/', to: '/vue-data-grid/viewport/' },
    { from: '/documentation/vue/', to: '/vue-data-grid/' },
    {
        from: '/embracing-the-future-with-angularjs2-web-components-and-ag-grid/',
        to: 'https://medium.com/ag-grid/embracing-the-future-with-angular-2-0-web-components-and-ag-grid-fec000d5a304',
    },
    { from: '/example-angular-rxjs/', to: '/angular-data-grid/data-update/' },
    { from: '/example-excel-import/', to: '/javascript-data-grid/excel-import/' },
    { from: '/example-expressions-and-context/', to: '/javascript-data-grid/context/' },
    { from: '/example-react-redux/', to: '/react-data-grid/getting-started/' },
    { from: '/features-overview/', to: 'https://www.ag-grid.com/' },
    {
        from: '/git-color/',
        to: 'https://medium.com/ag-grid/git-on-the-command-line-improving-the-experience-5a604cb14cf6',
    },
    { from: '/graphql-server-side-operations/', to: '/javascript-data-grid/server-side-operations-graphql/' },
    {
        from: '/javascript-datagrid/',
        to: 'https://medium.com/ag-grid/8-reasons-to-choose-ag-grid-as-your-javascript-datagrid-eb4a767a351f',
    },
    { from: '/javascript-getting-started/', to: '/javascript-data-grid/getting-started/' },
    { from: '/javascript-grid-accessibility/', to: '/javascript-data-grid/accessibility/' },
    { from: '/javascript-grid-accessing-data/', to: '/javascript-data-grid/accessing-data/' },
    { from: '/javascript-grid-aggregation/', to: '/javascript-data-grid/aggregation/' },
    { from: '/javascript-grid-aligned-grids/', to: '/javascript-data-grid/aligned-grids/' },
    { from: '/javascript-grid-animation/', to: '/javascript-data-grid/row-animation/' },
    { from: '/javascript-grid-api/', to: '/javascript-data-grid/grid-api/' },
    { from: '/javascript-grid-callbacks/', to: '/javascript-data-grid/grid-options/' },
    { from: '/javascript-grid-cell-editing/', to: '/javascript-data-grid/cell-editing/' },
    { from: '/javascript-grid-cell-editor/', to: '/javascript-data-grid/cell-editors/' },
    { from: '/javascript-grid-cell-expressions/', to: '/javascript-data-grid/cell-expressions/' },
    { from: '/javascript-grid-cell-rendering-components/', to: '/javascript-data-grid/component-cell-renderer/' },
    { from: '/javascript-grid-cell-rendering/', to: '/javascript-data-grid/component-cell-renderer/' },
    { from: '/javascript-grid-cell-styles/', to: '/javascript-data-grid/cell-styles/' },
    { from: '/javascript-grid-cell-template/', to: '/angular-data-grid/getting-started/' },
    { from: '/javascript-grid-change-detection/', to: '/javascript-data-grid/change-detection/' },
    { from: '/javascript-grid-client-side-model/', to: '/javascript-data-grid/row-models/' },
    { from: '/javascript-grid-clipboard/', to: '/javascript-data-grid/clipboard/' },
    { from: '/javascript-grid-column-api/', to: '/javascript-data-grid/column-api/' },
    { from: '/javascript-grid-column-definitions/', to: '/javascript-data-grid/column-definitions/' },
    { from: '/javascript-grid-column-header/', to: '/javascript-data-grid/column-headers/' },
    { from: '/javascript-grid-column-interface/', to: '/javascript-data-grid/column-interface/' },
    { from: '/javascript-grid-column-menu/', to: '/javascript-data-grid/column-menu/' },
    { from: '/javascript-grid-column-moving/', to: '/javascript-data-grid/column-moving/' },
    { from: '/javascript-grid-column-properties/', to: '/javascript-data-grid/column-properties/' },
    { from: '/javascript-grid-column-spanning/', to: '/javascript-data-grid/column-spanning/' },
    { from: '/javascript-grid-column-state/', to: '/javascript-data-grid/column-state/' },
    { from: '/javascript-grid-column-updating-definitions/', to: '/javascript-data-grid/column-updating-definitions/' },
    { from: '/javascript-grid-column/', to: '/javascript-data-grid/column-object/' },
    { from: '/javascript-grid-component-types/', to: '/javascript-data-grid/components/' },
    { from: '/javascript-grid-components/', to: '/javascript-data-grid/components/' },
    { from: '/javascript-grid-context-menu/', to: '/javascript-data-grid/context-menu/' },
    { from: '/javascript-grid-context/', to: '/javascript-data-grid/context/' },
    { from: '/javascript-grid-csv/', to: '/javascript-data-grid/csv-export/' },
    { from: '/javascript-grid-data-update-high-frequency/', to: '/javascript-data-grid/data-update-high-frequency/' },
    { from: '/javascript-grid-data-update-single-row-cell/', to: '/javascript-data-grid/data-update-single-row-cell/' },
    { from: '/javascript-grid-data-update-transactions/', to: '/javascript-data-grid/data-update-transactions/' },
    { from: '/javascript-grid-data-update/', to: '/javascript-data-grid/data-update/' },
    { from: '/javascript-grid-datasource/', to: '/javascript-data-grid/infinite-scrolling/' },
    { from: '/javascript-grid-date-component/', to: '/javascript-data-grid/filter-date/' },
    { from: '/javascript-grid-dom-virtualisation/', to: '/javascript-data-grid/dom-virtualisation/' },
    { from: '/javascript-grid-download/', to: '/javascript-data-grid/installation/' },
    { from: '/javascript-grid-drag-and-drop/', to: '/javascript-data-grid/drag-and-drop/' },
    { from: '/javascript-grid-e2e-test-with-jasmine/', to: '/javascript-data-grid/testing/' },
    { from: '/javascript-grid-editing-flow/', to: '/javascript-data-grid/saving-content/' },
    { from: '/javascript-grid-events/', to: '/javascript-data-grid/grid-events/' },
    { from: '/javascript-grid-excel/', to: '/javascript-data-grid/excel-export/' },
    { from: '/javascript-grid-export/', to: '/javascript-data-grid/excel-export/' },
    { from: '/javascript-grid-features/', to: 'https://www.ag-grid.com/' },
    { from: '/javascript-grid-filter-api/', to: '/javascript-data-grid/filter-api/' },
    { from: '/javascript-grid-filter-component/', to: '/javascript-data-grid/component-filter/' },
    { from: '/javascript-grid-filter-custom/', to: '/javascript-data-grid/component-filter/' },
    { from: '/javascript-grid-filter-date/', to: '/javascript-data-grid/filter-date/' },
    { from: '/javascript-grid-filter-external/', to: '/javascript-data-grid/filter-external/' },
    { from: '/javascript-grid-filter-multi/', to: '/javascript-data-grid/filter-multi/' },
    { from: '/javascript-grid-filter-number/', to: '/javascript-data-grid/filter-number/' },
    { from: '/javascript-grid-filter-provided-simple/', to: '/javascript-data-grid/filtering/' },
    { from: '/javascript-grid-filter-provided/', to: '/javascript-data-grid/filtering/' },
    { from: '/javascript-grid-filter-quick/', to: '/javascript-data-grid/filter-quick/' },
    { from: '/javascript-grid-filter-set-api/', to: '/javascript-data-grid/filter-set-api/' },
    { from: '/javascript-grid-filter-set-data-updates/', to: '/javascript-data-grid/filter-set-data-updates/' },
    { from: '/javascript-grid-filter-set-excel-mode/', to: '/javascript-data-grid/filter-set-excel-mode/' },
    { from: '/javascript-grid-filter-set-filter-list/', to: '/javascript-data-grid/filter-set-filter-list/' },
    { from: '/javascript-grid-filter-set-mini-filter/', to: '/javascript-data-grid/filter-set-mini-filter/' },
    { from: '/javascript-grid-filter-set/', to: '/javascript-data-grid/filter-set/' },
    { from: '/javascript-grid-filter-text/', to: '/javascript-data-grid/filter-text/' },
    { from: '/javascript-grid-filtering-overview/', to: '/javascript-data-grid/filtering-overview/' },
    { from: '/javascript-grid-filtering/', to: '/javascript-data-grid/filtering/' },
    { from: '/javascript-grid-flashing-cells/', to: '/javascript-data-grid/change-cell-renderers/' },
    { from: '/javascript-grid-floating-filter-component/', to: '/javascript-data-grid/component-floating-filter/' },
    { from: '/javascript-grid-floating-filters/', to: '/javascript-data-grid/floating-filters/' },
    { from: '/javascript-grid-floating/', to: '/javascript-data-grid/row-pinning/' },
    { from: '/javascript-grid-for-print/', to: '/javascript-data-grid/printing/' },
    { from: '/javascript-grid-full-width-rows/', to: '/javascript-data-grid/full-width-rows/' },
    { from: '/javascript-grid-getting-started/', to: '/javascript-data-grid/getting-started/' },
    { from: '/javascript-grid-grouping-headers/', to: '/javascript-data-grid/column-groups/' },
    { from: '/javascript-grid-grouping/', to: '/javascript-data-grid/grouping/' },
    { from: '/javascript-grid-header-rendering/', to: '/javascript-data-grid/column-headers/' },
    { from: '/javascript-grid-icons/', to: '/javascript-data-grid/custom-icons/' },
    { from: '/javascript-grid-immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/javascript-grid-infinite-scrolling/', to: '/javascript-data-grid/infinite-scrolling/' },
    { from: '/javascript-grid-insert-remove/', to: '/javascript-data-grid/data-update/' },
    { from: '/javascript-grid-interfacing-overview/', to: '/javascript-data-grid/grid-interface/' },
    { from: '/javascript-grid-internationalisation/', to: '/javascript-data-grid/localisation/' },
    { from: '/javascript-grid-keyboard-navigation/', to: '/javascript-data-grid/keyboard-navigation/' },
    { from: '/javascript-grid-loading-cell-renderer/', to: '/javascript-data-grid/component-loading-cell-renderer/' },
    { from: '/javascript-grid-localisation/', to: '/javascript-data-grid/localisation/' },
    { from: '/javascript-grid-master-detail-custom-detail/', to: '/javascript-data-grid/master-detail-custom-detail/' },
    { from: '/javascript-grid-master-detail-detail-grids/', to: '/javascript-data-grid/master-detail-grids/' },
    { from: '/javascript-grid-master-detail-height/', to: '/javascript-data-grid/master-detail-height/' },
    { from: '/javascript-grid-master-detail-master-rows/', to: '/javascript-data-grid/master-detail-master-rows/' },
    { from: '/javascript-grid-master-detail-nesting/', to: '/javascript-data-grid/master-detail-nesting/' },
    { from: '/javascript-grid-master-detail-other/', to: '/javascript-data-grid/master-detail-other/' },
    { from: '/javascript-grid-master-detail-refresh/', to: '/javascript-data-grid/master-detail-refresh/' },
    { from: '/javascript-grid-master-detail/', to: '/javascript-data-grid/master-detail/' },
    { from: '/javascript-grid-master-slave/', to: '/javascript-data-grid/aligned-grids/' },
    { from: '/javascript-grid-model/', to: '/javascript-data-grid/row-models/' },
    { from: '/javascript-grid-modules-building/', to: '/javascript-data-grid/modules/' },
    { from: '/javascript-grid-modules-more-details/', to: '/javascript-data-grid/modules/' },
    { from: '/javascript-data-grid/modules-more-details/', to: '/javascript-data-grid/modules/' },
    { from: '/javascript-grid-modules/', to: '/javascript-data-grid/modules/' },
    { from: '/javascript-grid-npm/', to: '/javascript-data-grid/installation/' },
    { from: '/javascript-grid-openfin-dashboard/', to: 'https://www.ag-grid.com/' },
    { from: '/javascript-grid-overlay-component/', to: '/javascript-data-grid/overlays/' },
    { from: '/javascript-grid-overlays/', to: '/javascript-data-grid/overlays/' },
    { from: '/javascript-grid-packages-modules/', to: '/javascript-data-grid/modules/' },
    { from: '/javascript-grid-packages/', to: '/javascript-data-grid/modules/' },
    { from: '/javascript-grid-pagination/', to: '/javascript-data-grid/row-pagination/' },
    { from: '/javascript-grid-performance/', to: '/javascript-data-grid/scrolling-performance/' },
    { from: '/javascript-grid-pinning/', to: '/javascript-data-grid/column-pinning/' },
    { from: '/javascript-grid-pivoting/', to: '/javascript-data-grid/pivoting/' },
    { from: '/javascript-grid-properties/', to: '/javascript-data-grid/grid-options/' },
    { from: '/javascript-grid-provided-cell-editors/', to: '/javascript-data-grid/provided-cell-editors/' },
    { from: '/javascript-grid-provided-renderer-change/', to: '/javascript-data-grid/change-cell-renderers/' },
    { from: '/javascript-grid-provided-renderer-group/', to: '/javascript-data-grid/grouping/' },
    { from: '/javascript-grid-range-selection-fill-handle/', to: '/javascript-data-grid/cell-selection-fill-handle/' },
    { from: '/javascript-grid-range-selection-handle/', to: '/javascript-data-grid/cell-selection-handle/' },
    { from: '/javascript-grid-range-selection/', to: '/javascript-data-grid/cell-selection/' },
    { from: '/javascript-grid-reference-data/', to: '/javascript-data-grid/reference-data/' },
    { from: '/javascript-grid-reference-overview/', to: '/javascript-data-grid/grid-interface/' },
    { from: '/javascript-grid-refresh/', to: '/javascript-data-grid/view-refresh/' },
    { from: '/javascript-grid-rendering-api/', to: '/javascript-data-grid/dom-virtualisation/' },
    { from: '/javascript-grid-rendering-flow/', to: '/javascript-data-grid/cell-content/' },
    { from: '/javascript-grid-resizing/', to: '/javascript-data-grid/column-sizing/' },
    {
        from: '/javascript-grid-row-dragging-to-external-dropzone/',
        to: '/javascript-data-grid/row-dragging-to-external-dropzone/',
    },
    { from: '/javascript-grid-row-dragging-to-grid/', to: '/javascript-data-grid/row-dragging-to-grid/' },
    { from: '/javascript-grid-row-dragging/', to: '/javascript-data-grid/row-dragging/' },
    { from: '/javascript-grid-row-height/', to: '/javascript-data-grid/row-height/' },
    { from: '/javascript-grid-row-models/', to: '/javascript-data-grid/row-models/' },
    { from: '/javascript-grid-row-node/', to: '/javascript-data-grid/row-object/' },
    { from: '/javascript-grid-row-pinning/', to: '/javascript-data-grid/row-pinning/' },
    { from: '/javascript-grid-row-spanning/', to: '/javascript-data-grid/row-spanning/' },
    { from: '/javascript-grid-row-styles/', to: '/javascript-data-grid/row-styles/' },
    { from: '/javascript-grid-rtl/', to: '/javascript-data-grid/rtl/' },
    { from: '/javascript-grid-rxjs/', to: '/javascript-data-grid/data-update/' },
    { from: '/javascript-grid-scrolling-scenarios/', to: '/javascript-data-grid/scrolling-performance/' },
    { from: '/javascript-grid-security/', to: '/javascript-data-grid/security/' },
    { from: '/javascript-grid-selection-overview/', to: '/javascript-data-grid/row-selection/' },
    { from: '/javascript-grid-selection/', to: '/javascript-data-grid/row-selection/' },
    {
        from: '/javascript-grid-server-side-model-changing-columns/',
        to: '/javascript-data-grid/server-side-model-changing-columns/',
    },
    { from: '/javascript-grid-server-side-model-crud/', to: '/javascript-data-grid/server-side-model-updating/' },
    {
        from: '/javascript-grid-server-side-model-datasource/',
        to: '/javascript-data-grid/server-side-model-datasource/',
    },
    { from: '/javascript-grid-server-side-model-filtering/', to: '/javascript-data-grid/server-side-model-filtering/' },
    { from: '/javascript-grid-server-side-model-grouping/', to: '/javascript-data-grid/server-side-model-grouping/' },
    {
        from: '/javascript-grid-server-side-model-master-detail/',
        to: '/javascript-data-grid/server-side-model-master-detail/',
    },
    {
        from: '/javascript-grid-server-side-model-pagination/',
        to: '/javascript-data-grid/server-side-model-pagination/',
    },
    { from: '/javascript-grid-server-side-model-pivoting/', to: '/javascript-data-grid/server-side-model-pivoting/' },
    {
        from: '/javascript-grid-server-side-model-row-height/',
        to: '/javascript-data-grid/server-side-model-row-height/',
    },
    { from: '/javascript-grid-server-side-model-selection/', to: '/javascript-data-grid/server-side-model-selection/' },
    { from: '/javascript-grid-server-side-model-sorting/', to: '/javascript-data-grid/server-side-model-sorting/' },
    { from: '/javascript-grid-server-side-model-tree-data/', to: '/javascript-data-grid/server-side-model-tree-data/' },
    { from: '/javascript-grid-server-side-model/', to: '/javascript-data-grid/server-side-model/' },
    { from: '/javascript-grid-set-filtering/', to: '/javascript-data-grid/filter-set/' },
    { from: '/javascript-grid-set-license/', to: '/javascript-data-grid/community-vs-enterprise/' },
    { from: '/javascript-grid-side-bar/', to: '/javascript-data-grid/side-bar/' },
    { from: '/javascript-grid-sorting/', to: '/javascript-data-grid/row-sorting/' },
    { from: '/javascript-grid-status-bar-component/', to: '/javascript-data-grid/status-bar/' },
    { from: '/javascript-grid-status-bar/', to: '/javascript-data-grid/status-bar/' },
    { from: '/javascript-grid-styling/', to: '/javascript-data-grid/themes/' },
    { from: '/javascript-grid-supported-browsers/', to: '/javascript-data-grid/supported-browsers/' },
    { from: '/javascript-grid-testing-angular/', to: '/angular-data-grid/testing/' },
    { from: '/javascript-grid-testing-react/', to: '/react-data-grid/testing/' },
    { from: '/javascript-grid-testing-vue/', to: '/vue-data-grid/testing/' },
    { from: '/javascript-grid-testing/', to: '/javascript-data-grid/testing/' },
    { from: '/javascript-grid-themes-customising/', to: '/javascript-data-grid/themes/' },
    { from: '/javascript-grid-themes-provided/', to: '/javascript-data-grid/themes/' },
    { from: '/javascript-grid-themes/', to: '/javascript-data-grid/themes/' },
    { from: '/javascript-grid-tool-panel-columns/', to: '/javascript-data-grid/tool-panel-columns/' },
    { from: '/javascript-grid-tool-panel-component/', to: '/javascript-data-grid/component-tool-panel/' },
    { from: '/javascript-grid-tool-panel-filters/', to: '/javascript-data-grid/tool-panel-filters/' },
    { from: '/javascript-grid-tool-panel/', to: '/javascript-data-grid/tool-panel/' },
    { from: '/javascript-grid-tooltip-component/', to: '/javascript-data-grid/tooltips/' },
    { from: '/javascript-grid-touch/', to: '/javascript-data-grid/touch/' },
    { from: '/javascript-grid-tree-data/', to: '/javascript-data-grid/tree-data/' },
    { from: '/javascript-grid-undo-redo-edits/', to: '/javascript-data-grid/undo-redo-edits/' },
    { from: '/javascript-grid-value-cache/', to: '/javascript-data-grid/value-getters/' },
    { from: '/javascript-grid-value-formatters/', to: '/javascript-data-grid/value-formatters/' },
    { from: '/javascript-grid-value-getters/', to: '/javascript-data-grid/value-getters/' },
    { from: '/javascript-grid-value-parsers/', to: '/javascript-data-grid/value-parsers/' },
    { from: '/javascript-grid-value-setters/', to: '/javascript-data-grid/value-setters/' },
    { from: '/javascript-grid-viewport/', to: '/javascript-data-grid/viewport/' },
    { from: '/javascript-grid-width-and-height/', to: '/javascript-data-grid/grid-size/' },
    { from: '/javascript-grid/accessibility/', to: '/javascript-data-grid/accessibility/' },
    { from: '/javascript-grid/accessing-data/', to: '/javascript-data-grid/accessing-data/' },
    { from: '/javascript-grid/aggregation/', to: '/javascript-data-grid/aggregation/' },
    { from: '/javascript-grid/aligned-grids/', to: '/javascript-data-grid/aligned-grids/' },
    { from: '/javascript-grid/cell-content/', to: '/javascript-data-grid/cell-content/' },
    { from: '/javascript-grid/cell-editing/', to: '/javascript-data-grid/cell-editing/' },
    { from: '/javascript-grid/cell-expressions/', to: '/javascript-data-grid/cell-expressions/' },
    { from: '/javascript-grid/cell-rendering/', to: '/javascript-data-grid/component-cell-renderer/' },
    { from: '/javascript-grid/cell-styles/', to: '/javascript-data-grid/cell-styles/' },
    { from: '/javascript-grid/change-cell-renderers/', to: '/javascript-data-grid/change-cell-renderers/' },
    { from: '/javascript-grid/change-detection/', to: '/javascript-data-grid/change-detection/' },
    { from: '/javascript-grid/client-side-model/', to: '/javascript-data-grid/row-models/' },
    { from: '/javascript-grid/clipboard/', to: '/javascript-data-grid/clipboard/' },
    { from: '/javascript-grid/column-api/', to: '/javascript-data-grid/column-api/' },
    { from: '/javascript-grid/column-definitions/', to: '/javascript-data-grid/column-definitions/' },
    { from: '/javascript-grid/column-groups/', to: '/javascript-data-grid/column-groups/' },
    { from: '/javascript-grid/column-headers/', to: '/javascript-data-grid/column-headers/' },
    { from: '/javascript-grid/column-interface/', to: '/javascript-data-grid/column-interface/' },
    { from: '/javascript-grid/column-menu/', to: '/javascript-data-grid/column-menu/' },
    { from: '/javascript-grid/column-moving/', to: '/javascript-data-grid/column-moving/' },
    { from: '/javascript-grid/column-object/', to: '/javascript-data-grid/column-object/' },
    { from: '/javascript-grid/column-pinning/', to: '/javascript-data-grid/column-pinning/' },
    { from: '/javascript-grid/column-properties/', to: '/javascript-data-grid/column-properties/' },
    { from: '/javascript-grid/column-sizing/', to: '/javascript-data-grid/column-sizing/' },
    { from: '/javascript-grid/column-spanning/', to: '/javascript-data-grid/column-spanning/' },
    { from: '/javascript-grid/column-state/', to: '/javascript-data-grid/column-state/' },
    { from: '/javascript-grid/column-updating-definitions/', to: '/javascript-data-grid/column-updating-definitions/' },
    { from: '/javascript-grid/component-cell-editor/', to: '/javascript-data-grid/cell-editors/' },
    { from: '/javascript-grid/component-cell-renderer/', to: '/javascript-data-grid/component-cell-renderer/' },
    { from: '/javascript-grid/component-date/', to: '/javascript-data-grid/filter-date/' },
    { from: '/javascript-grid/component-filter/', to: '/javascript-data-grid/component-filter/' },
    { from: '/javascript-grid/component-floating-filter/', to: '/javascript-data-grid/component-floating-filter/' },
    { from: '/javascript-grid/component-header/', to: '/javascript-data-grid/column-headers/' },
    {
        from: '/javascript-grid/component-loading-cell-renderer/',
        to: '/javascript-data-grid/component-loading-cell-renderer/',
    },
    { from: '/javascript-grid/component-overlay/', to: '/javascript-data-grid/overlays/' },
    { from: '/javascript-grid/component-status-bar/', to: '/javascript-data-grid/status-bar/' },
    { from: '/javascript-grid/component-tool-panel/', to: '/javascript-data-grid/component-tool-panel/' },
    { from: '/javascript-grid/component-tooltip/', to: '/javascript-data-grid/tooltips/' },
    { from: '/javascript-grid/component-types/', to: '/javascript-data-grid/components/' },
    { from: '/javascript-grid/components/', to: '/javascript-data-grid/components/' },
    { from: '/javascript-grid/context/', to: '/javascript-data-grid/context/' },
    { from: '/javascript-grid/context-menu/', to: '/javascript-data-grid/context-menu/' },
    { from: '/javascript-grid/csv-export/', to: '/javascript-data-grid/csv-export/' },
    { from: '/javascript-grid/custom-icons/', to: '/javascript-data-grid/custom-icons/' },
    { from: '/javascript-grid/data-update/', to: '/javascript-data-grid/data-update/' },
    { from: '/javascript-grid/data-update-high-frequency/', to: '/javascript-data-grid/data-update-high-frequency/' },
    { from: '/javascript-grid/data-update-single-row-cell/', to: '/javascript-data-grid/data-update-single-row-cell/' },
    { from: '/javascript-grid/data-update-transactions/', to: '/javascript-data-grid/data-update-transactions/' },
    { from: '/javascript-grid/dom-virtualisation/', to: '/javascript-data-grid/dom-virtualisation/' },
    { from: '/javascript-grid/drag-and-drop/', to: '/javascript-data-grid/drag-and-drop/' },
    { from: '/javascript-grid/excel-export/', to: '/javascript-data-grid/excel-export/' },
    { from: '/javascript-grid/excel-export-api/', to: '/javascript-data-grid/excel-export-api/' },
    { from: '/javascript-grid/excel-export-columns/', to: '/javascript-data-grid/excel-export-columns/' },
    { from: '/javascript-grid/excel-export-data-types/', to: '/javascript-data-grid/excel-export-data-types/' },
    { from: '/javascript-grid/excel-export-extra-content/', to: '/javascript-data-grid/excel-export-extra-content/' },
    { from: '/javascript-grid/excel-export-formulas/', to: '/javascript-data-grid/excel-export-formulas/' },
    { from: '/javascript-grid/excel-export-hyperlinks/', to: '/javascript-data-grid/excel-export-hyperlinks/' },
    { from: '/javascript-grid/excel-export-images/', to: '/javascript-data-grid/excel-export-images/' },
    { from: '/javascript-grid/excel-export-master-detail/', to: '/javascript-data-grid/excel-export-master-detail/' },
    {
        from: '/javascript-grid/excel-export-multiple-sheets/',
        to: '/javascript-data-grid/excel-export-multiple-sheets/',
    },
    { from: '/javascript-grid/excel-export-page-setup/', to: '/javascript-data-grid/excel-export-page-setup/' },
    { from: '/javascript-grid/excel-export-rows/', to: '/javascript-data-grid/excel-export-rows/' },
    { from: '/javascript-grid/excel-export-styles/', to: '/javascript-data-grid/excel-export-styles/' },
    { from: '/javascript-grid/excel-import/', to: '/javascript-data-grid/excel-import/' },
    { from: '/javascript-grid/expressions-and-context/', to: '/javascript-data-grid/context/' },
    { from: '/javascript-grid/filter-api/', to: '/javascript-data-grid/filter-api/' },
    { from: '/javascript-grid/filter-custom/', to: '/javascript-data-grid/component-filter/' },
    { from: '/javascript-grid/filter-date/', to: '/javascript-data-grid/filter-date/' },
    { from: '/javascript-grid/filter-external/', to: '/javascript-data-grid/filter-external/' },
    { from: '/javascript-grid/filter-multi/', to: '/javascript-data-grid/filter-multi/' },
    { from: '/javascript-grid/filter-number/', to: '/javascript-data-grid/filter-number/' },
    { from: '/javascript-grid/filter-provided/', to: '/javascript-data-grid/filtering/' },
    { from: '/javascript-grid/filter-provided-simple/', to: '/javascript-data-grid/filtering/' },
    { from: '/javascript-grid/filter-quick/', to: '/javascript-data-grid/filter-quick/' },
    { from: '/javascript-grid/filter-set/', to: '/javascript-data-grid/filter-set/' },
    { from: '/javascript-grid/filter-set-api/', to: '/javascript-data-grid/filter-set-api/' },
    { from: '/javascript-grid/filter-set-data-updates/', to: '/javascript-data-grid/filter-set-data-updates/' },
    { from: '/javascript-grid/filter-set-excel-mode/', to: '/javascript-data-grid/filter-set-excel-mode/' },
    { from: '/javascript-grid/filter-set-filter-list/', to: '/javascript-data-grid/filter-set-filter-list/' },
    { from: '/javascript-grid/filter-set-mini-filter/', to: '/javascript-data-grid/filter-set-mini-filter/' },
    { from: '/javascript-grid/filter-text/', to: '/javascript-data-grid/filter-text/' },
    { from: '/javascript-grid/filtering/', to: '/javascript-data-grid/filtering/' },
    { from: '/javascript-grid/filtering-overview/', to: '/javascript-data-grid/filtering-overview/' },
    { from: '/javascript-grid/flashing-cells/', to: '/javascript-data-grid/change-cell-renderers/' },
    { from: '/javascript-grid/floating-filters/', to: '/javascript-data-grid/floating-filters/' },
    { from: '/javascript-grid/full-width-rows/', to: '/javascript-data-grid/full-width-rows/' },
    { from: '/javascript-grid/getting-started/', to: '/javascript-data-grid/getting-started/' },
    { from: '/javascript-grid/grid-api/', to: '/javascript-data-grid/grid-api/' },
    { from: '/javascript-grid/grid-callbacks/', to: '/javascript-data-grid/grid-options/' },
    { from: '/javascript-grid/grid-events/', to: '/javascript-data-grid/grid-events/' },
    { from: '/javascript-grid/grid-features/', to: 'https://www.ag-grid.com/' },
    { from: '/javascript-grid/grid-interface/', to: '/javascript-data-grid/grid-interface/' },
    { from: '/javascript-grid/grid-properties/', to: '/javascript-data-grid/grid-options/' },
    { from: '/javascript-grid/grid-size/', to: '/javascript-data-grid/grid-size/' },
    { from: '/javascript-grid/group-cell-renderer/', to: '/javascript-data-grid/grouping/' },
    { from: '/javascript-grid/grouping/', to: '/javascript-data-grid/grouping/' },
    { from: '/javascript-grid/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/javascript-data-grid/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/javascript-grid/index.html', to: '/javascript-data-grid/getting-started/' },
    { from: '/javascript-grid/infinite-scrolling/', to: '/javascript-data-grid/infinite-scrolling/' },
    { from: '/javascript-grid/integrated-charts/', to: '/javascript-data-grid/integrated-charts/' },
    { from: '/javascript-grid/integrated-charts-container/', to: '/javascript-data-grid/integrated-charts-container/' },
    {
        from: '/javascript-grid/integrated-charts-customisation/',
        to: '/javascript-data-grid/integrated-charts-customisation/',
    },
    { from: '/javascript-grid/integrated-charts-events/', to: '/javascript-data-grid/integrated-charts-events/' },
    {
        from: '/javascript-grid/integrated-charts-pivot-chart/',
        to: '/javascript-data-grid/integrated-charts-pivot-chart/',
    },
    {
        from: '/javascript-grid/integrated-charts-range-chart/',
        to: '/javascript-data-grid/integrated-charts-range-chart/',
    },
    {
        from: '/javascript-grid/integrated-charts-time-series/',
        to: '/javascript-data-grid/integrated-charts-time-series/',
    },
    { from: '/javascript-grid/integrated-charts-toolbar/', to: '/javascript-data-grid/integrated-charts-menu/' },
    { from: '/javascript-grid/keyboard-navigation/', to: '/javascript-data-grid/keyboard-navigation/' },
    { from: '/javascript-grid/licensing/', to: '/javascript-data-grid/community-vs-enterprise/' },
    { from: '/javascript-grid/localisation/', to: '/javascript-data-grid/localisation/' },
    { from: '/javascript-grid/massive-row-count/', to: '/javascript-data-grid/massive-row-count/' },
    { from: '/javascript-grid/master-detail/', to: '/javascript-data-grid/master-detail/' },
    { from: '/javascript-grid/master-detail-custom-detail/', to: '/javascript-data-grid/master-detail-custom-detail/' },
    { from: '/javascript-grid/master-detail-grids/', to: '/javascript-data-grid/master-detail-grids/' },
    { from: '/javascript-grid/master-detail-height/', to: '/javascript-data-grid/master-detail-height/' },
    { from: '/javascript-grid/master-detail-master-rows/', to: '/javascript-data-grid/master-detail-master-rows/' },
    { from: '/javascript-grid/master-detail-nesting/', to: '/javascript-data-grid/master-detail-nesting/' },
    { from: '/javascript-grid/master-detail-other/', to: '/javascript-data-grid/master-detail-other/' },
    { from: '/javascript-grid/master-detail-refresh/', to: '/javascript-data-grid/master-detail-refresh/' },
    { from: '/javascript-grid/modules/', to: '/javascript-data-grid/modules/' },
    { from: '/javascript-grid/modules-building/', to: '/javascript-data-grid/modules/' },
    { from: '/javascript-grid/modules-more-details/', to: '/javascript-data-grid/modules/' },
    { from: '/javascript-data-grid/modules-more-details/', to: '/javascript-data-grid/modules/' },
    { from: '/javascript-grid/overlays/', to: '/javascript-data-grid/overlays/' },
    { from: '/javascript-grid/packages/', to: '/javascript-data-grid/modules/' },
    { from: '/javascript-grid/packages-modules/', to: '/javascript-data-grid/modules/' },
    { from: '/javascript-grid/pivoting/', to: '/javascript-data-grid/pivoting/' },
    { from: '/javascript-grid/printing/', to: '/javascript-data-grid/printing/' },
    { from: '/javascript-grid/provided-cell-editors/', to: '/javascript-data-grid/provided-cell-editors/' },
    { from: '/javascript-grid/range-selection/', to: '/javascript-data-grid/cell-selection/' },
    { from: '/javascript-grid/range-selection-fill-handle/', to: '/javascript-data-grid/cell-selection-fill-handle/' },
    { from: '/javascript-grid/range-selection-handle/', to: '/javascript-data-grid/cell-selection-handle/' },
    { from: '/javascript-grid/reference-data/', to: '/javascript-data-grid/reference-data/' },
    { from: '/javascript-grid/rendering-api/', to: '/javascript-data-grid/dom-virtualisation/' },
    { from: '/javascript-grid/row-animation/', to: '/javascript-data-grid/row-animation/' },
    { from: '/javascript-grid/row-dragging/', to: '/javascript-data-grid/row-dragging/' },
    {
        from: '/javascript-grid/row-dragging-to-external-dropzone/',
        to: '/javascript-data-grid/row-dragging-to-external-dropzone/',
    },
    { from: '/javascript-grid/row-dragging-to-grid/', to: '/javascript-data-grid/row-dragging-to-grid/' },
    { from: '/javascript-grid/row-height/', to: '/javascript-data-grid/row-height/' },
    { from: '/javascript-grid/row-models/', to: '/javascript-data-grid/row-models/' },
    { from: '/javascript-grid/row-object/', to: '/javascript-data-grid/row-object/' },
    { from: '/javascript-grid/row-pagination/', to: '/javascript-data-grid/row-pagination/' },
    { from: '/javascript-grid/row-pinning/', to: '/javascript-data-grid/row-pinning/' },
    { from: '/javascript-grid/row-selection/', to: '/javascript-data-grid/row-selection/' },
    { from: '/javascript-grid/row-sorting/', to: '/javascript-data-grid/row-sorting/' },
    { from: '/javascript-grid/row-spanning/', to: '/javascript-data-grid/row-spanning/' },
    { from: '/javascript-grid/row-styles/', to: '/javascript-data-grid/row-styles/' },
    { from: '/javascript-grid/rtl/', to: '/javascript-data-grid/rtl/' },
    { from: '/javascript-grid/saving-content/', to: '/javascript-data-grid/saving-content/' },
    { from: '/javascript-grid/scrolling-performance/', to: '/javascript-data-grid/scrolling-performance/' },
    { from: '/javascript-grid/scrolling-scenarios/', to: '/javascript-data-grid/scrolling-performance/' },
    { from: '/javascript-grid/security/', to: '/javascript-data-grid/security/' },
    { from: '/javascript-grid/selection-overview/', to: '/javascript-data-grid/row-selection/' },
    { from: '/javascript-grid/server-side-model/', to: '/javascript-data-grid/server-side-model/' },
    {
        from: '/javascript-grid/server-side-model-changing-columns/',
        to: '/javascript-data-grid/server-side-model-changing-columns/',
    },
    {
        from: '/javascript-grid/server-side-model-datasource/',
        to: '/javascript-data-grid/server-side-model-datasource/',
    },
    { from: '/javascript-grid/server-side-model-filtering/', to: '/javascript-data-grid/server-side-model-filtering/' },
    { from: '/javascript-grid/server-side-model-grouping/', to: '/javascript-data-grid/server-side-model-grouping/' },
    {
        from: '/javascript-grid/server-side-model-high-frequency/',
        to: '/javascript-data-grid/server-side-model-updating-refresh/',
    },
    {
        from: '/javascript-data-grid/server-side-model-high-frequency/',
        to: '/javascript-data-grid/server-side-model-updating-refresh/',
    },
    {
        from: '/javascript-grid/server-side-model-master-detail/',
        to: '/javascript-data-grid/server-side-model-master-detail/',
    },
    {
        from: '/javascript-grid/server-side-model-pagination/',
        to: '/javascript-data-grid/server-side-model-pagination/',
    },
    { from: '/javascript-grid/server-side-model-pivoting/', to: '/javascript-data-grid/server-side-model-pivoting/' },
    {
        from: '/javascript-grid/server-side-model-refresh/',
        to: '/javascript-data-grid/server-side-model-updating-refresh/',
    },
    {
        from: '/javascript-data-grid/server-side-model-refresh/',
        to: '/javascript-data-grid/server-side-model-updating-refresh/',
    },
    { from: '/javascript-grid/server-side-model-retry/', to: '/javascript-data-grid/server-side-model-retry/' },
    {
        from: '/javascript-grid/server-side-model-row-height/',
        to: '/javascript-data-grid/server-side-model-row-height/',
    },
    { from: '/javascript-grid/server-side-model-selection/', to: '/javascript-data-grid/server-side-model-selection/' },
    { from: '/javascript-grid/server-side-model-sorting/', to: '/javascript-data-grid/server-side-model-sorting/' },
    {
        from: '/javascript-grid/server-side-model-transactions/',
        to: '/javascript-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/javascript-data-grid/server-side-model-transactions/',
        to: '/javascript-data-grid/server-side-model-updating-transactions/',
    },
    { from: '/javascript-grid/server-side-model-tree-data/', to: '/javascript-data-grid/server-side-model-tree-data/' },
    { from: '/javascript-grid/server-side-model-updating/', to: '/javascript-data-grid/server-side-model-updating/' },
    {
        from: '/javascript-grid/server-side-operations-graphql/',
        to: '/javascript-data-grid/server-side-operations-graphql/',
    },
    {
        from: '/javascript-grid/server-side-operations-nodejs/',
        to: '/javascript-data-grid/server-side-operations-nodejs/',
    },
    {
        from: '/javascript-grid/server-side-operations-oracle/',
        to: '/javascript-data-grid/server-side-operations-oracle/',
    },
    {
        from: '/javascript-grid/server-side-operations-spark/',
        to: '/javascript-data-grid/server-side-operations-spark/',
    },
    { from: '/javascript-grid/side-bar/', to: '/javascript-data-grid/side-bar/' },
    { from: '/javascript-grid/status-bar/', to: '/javascript-data-grid/status-bar/' },
    { from: '/javascript-grid/supported-browsers/', to: '/javascript-data-grid/supported-browsers/' },
    { from: '/javascript-grid/testing/', to: '/javascript-data-grid/testing/' },
    { from: '/javascript-grid/themes/', to: '/javascript-data-grid/themes/' },
    { from: '/javascript-grid/themes-customising/', to: '/javascript-data-grid/themes/' },
    { from: '/javascript-grid/themes-provided/', to: '/javascript-data-grid/themes/' },
    { from: '/javascript-grid/tool-panel/', to: '/javascript-data-grid/tool-panel/' },
    { from: '/javascript-grid/tool-panel-columns/', to: '/javascript-data-grid/tool-panel-columns/' },
    { from: '/javascript-grid/tool-panel-filters/', to: '/javascript-data-grid/tool-panel-filters/' },
    { from: '/javascript-grid/touch/', to: '/javascript-data-grid/touch/' },
    { from: '/javascript-grid/tree-data/', to: '/javascript-data-grid/tree-data/' },
    { from: '/javascript-grid/undo-redo-edits/', to: '/javascript-data-grid/undo-redo-edits/' },
    { from: '/javascript-grid/value-formatters/', to: '/javascript-data-grid/value-formatters/' },
    { from: '/javascript-grid/value-getters/', to: '/javascript-data-grid/value-getters/' },
    { from: '/javascript-grid/value-parsers/', to: '/javascript-data-grid/value-parsers/' },
    { from: '/javascript-grid/value-setters/', to: '/javascript-data-grid/value-setters/' },
    { from: '/javascript-grid/view-refresh/', to: '/javascript-data-grid/view-refresh/' },
    { from: '/javascript-grid/viewport/', to: '/javascript-data-grid/viewport/' },
    { from: '/angular-grid/accessibility/', to: '/angular-data-grid/accessibility/' },
    { from: '/angular-grid/accessing-data/', to: '/angular-data-grid/accessing-data/' },
    { from: '/angular-grid/aggregation/', to: '/angular-data-grid/aggregation/' },
    { from: '/angular-grid/aligned-grids/', to: '/angular-data-grid/aligned-grids/' },
    { from: '/angular-grid/cell-content/', to: '/angular-data-grid/cell-content/' },
    { from: '/angular-grid/cell-editing/', to: '/angular-data-grid/cell-editing/' },
    { from: '/angular-grid/cell-expressions/', to: '/angular-data-grid/cell-expressions/' },
    { from: '/angular-grid/cell-rendering/', to: '/angular-data-grid/component-cell-renderer/' },
    { from: '/angular-grid/cell-styles/', to: '/angular-data-grid/cell-styles/' },
    { from: '/angular-grid/change-cell-renderers/', to: '/angular-data-grid/change-cell-renderers/' },
    { from: '/angular-grid/change-detection/', to: '/angular-data-grid/change-detection/' },
    { from: '/angular-grid/client-side-model/', to: '/angular-data-grid/row-models/' },
    { from: '/angular-grid/clipboard/', to: '/angular-data-grid/clipboard/' },
    { from: '/angular-grid/column-api/', to: '/angular-data-grid/column-api/' },
    { from: '/angular-grid/column-definitions/', to: '/angular-data-grid/column-definitions/' },
    { from: '/angular-grid/column-groups/', to: '/angular-data-grid/column-groups/' },
    { from: '/angular-grid/column-headers/', to: '/angular-data-grid/column-headers/' },
    { from: '/angular-grid/column-interface/', to: '/angular-data-grid/column-interface/' },
    { from: '/angular-grid/column-menu/', to: '/angular-data-grid/column-menu/' },
    { from: '/angular-grid/column-moving/', to: '/angular-data-grid/column-moving/' },
    { from: '/angular-grid/column-object/', to: '/angular-data-grid/column-object/' },
    { from: '/angular-grid/column-pinning/', to: '/angular-data-grid/column-pinning/' },
    { from: '/angular-grid/column-properties/', to: '/angular-data-grid/column-properties/' },
    { from: '/angular-grid/column-sizing/', to: '/angular-data-grid/column-sizing/' },
    { from: '/angular-grid/column-spanning/', to: '/angular-data-grid/column-spanning/' },
    { from: '/angular-grid/column-state/', to: '/angular-data-grid/column-state/' },
    { from: '/angular-grid/column-updating-definitions/', to: '/angular-data-grid/column-updating-definitions/' },
    { from: '/angular-grid/component-cell-editor/', to: '/angular-data-grid/cell-editors/' },
    { from: '/angular-grid/component-cell-renderer/', to: '/angular-data-grid/component-cell-renderer/' },
    { from: '/angular-grid/component-date/', to: '/angular-data-grid/filter-date/' },
    { from: '/angular-grid/component-filter/', to: '/angular-data-grid/component-filter/' },
    { from: '/angular-grid/component-floating-filter/', to: '/angular-data-grid/component-floating-filter/' },
    { from: '/angular-grid/component-header/', to: '/angular-data-grid/column-headers/' },
    {
        from: '/angular-grid/component-loading-cell-renderer/',
        to: '/angular-data-grid/component-loading-cell-renderer/',
    },
    { from: '/angular-grid/component-overlay/', to: '/angular-data-grid/overlays/' },
    { from: '/angular-grid/component-status-bar/', to: '/angular-data-grid/status-bar/' },
    { from: '/angular-grid/component-tool-panel/', to: '/angular-data-grid/component-tool-panel/' },
    { from: '/angular-grid/component-tooltip/', to: '/angular-data-grid/tooltips/' },
    { from: '/angular-grid/component-types/', to: '/angular-data-grid/components/' },
    { from: '/angular-grid/components/', to: '/angular-data-grid/components/' },
    { from: '/angular-grid/context/', to: '/angular-data-grid/context/' },
    { from: '/angular-grid/context-menu/', to: '/angular-data-grid/context-menu/' },
    { from: '/angular-grid/csv-export/', to: '/angular-data-grid/csv-export/' },
    { from: '/angular-grid/custom-icons/', to: '/angular-data-grid/custom-icons/' },
    { from: '/angular-grid/data-update/', to: '/angular-data-grid/data-update/' },
    { from: '/angular-grid/data-update-high-frequency/', to: '/angular-data-grid/data-update-high-frequency/' },
    { from: '/angular-grid/data-update-single-row-cell/', to: '/angular-data-grid/data-update-single-row-cell/' },
    { from: '/angular-grid/data-update-transactions/', to: '/angular-data-grid/data-update-transactions/' },
    { from: '/angular-grid/dom-virtualisation/', to: '/angular-data-grid/dom-virtualisation/' },
    { from: '/angular-grid/drag-and-drop/', to: '/angular-data-grid/drag-and-drop/' },
    { from: '/angular-grid/excel-export/', to: '/angular-data-grid/excel-export/' },
    { from: '/angular-grid/excel-export-api/', to: '/angular-data-grid/excel-export-api/' },
    { from: '/angular-grid/excel-export-columns/', to: '/angular-data-grid/excel-export-columns/' },
    { from: '/angular-grid/excel-export-data-types/', to: '/angular-data-grid/excel-export-data-types/' },
    { from: '/angular-grid/excel-export-extra-content/', to: '/angular-data-grid/excel-export-extra-content/' },
    { from: '/angular-grid/excel-export-formulas/', to: '/angular-data-grid/excel-export-formulas/' },
    { from: '/angular-grid/excel-export-hyperlinks/', to: '/angular-data-grid/excel-export-hyperlinks/' },
    { from: '/angular-grid/excel-export-images/', to: '/angular-data-grid/excel-export-images/' },
    { from: '/angular-grid/excel-export-master-detail/', to: '/angular-data-grid/excel-export-master-detail/' },
    { from: '/angular-grid/excel-export-multiple-sheets/', to: '/angular-data-grid/excel-export-multiple-sheets/' },
    { from: '/angular-grid/excel-export-page-setup/', to: '/angular-data-grid/excel-export-page-setup/' },
    { from: '/angular-grid/excel-export-rows/', to: '/angular-data-grid/excel-export-rows/' },
    { from: '/angular-grid/excel-export-styles/', to: '/angular-data-grid/excel-export-styles/' },
    { from: '/angular-grid/excel-import/', to: '/angular-data-grid/excel-import/' },
    { from: '/angular-grid/expressions-and-context/', to: '/angular-data-grid/context/' },
    { from: '/angular-grid/filter-api/', to: '/angular-data-grid/filter-api/' },
    { from: '/angular-grid/filter-custom/', to: '/angular-data-grid/component-filter/' },
    { from: '/angular-grid/filter-date/', to: '/angular-data-grid/filter-date/' },
    { from: '/angular-grid/filter-external/', to: '/angular-data-grid/filter-external/' },
    { from: '/angular-grid/filter-multi/', to: '/angular-data-grid/filter-multi/' },
    { from: '/angular-grid/filter-number/', to: '/angular-data-grid/filter-number/' },
    { from: '/angular-grid/filter-provided/', to: '/angular-data-grid/filtering/' },
    { from: '/angular-grid/filter-provided-simple/', to: '/angular-data-grid/filtering/' },
    { from: '/angular-grid/filter-quick/', to: '/angular-data-grid/filter-quick/' },
    { from: '/angular-grid/filter-set/', to: '/angular-data-grid/filter-set/' },
    { from: '/angular-grid/filter-set-api/', to: '/angular-data-grid/filter-set-api/' },
    { from: '/angular-grid/filter-set-data-updates/', to: '/angular-data-grid/filter-set-data-updates/' },
    { from: '/angular-grid/filter-set-excel-mode/', to: '/angular-data-grid/filter-set-excel-mode/' },
    { from: '/angular-grid/filter-set-filter-list/', to: '/angular-data-grid/filter-set-filter-list/' },
    { from: '/angular-grid/filter-set-mini-filter/', to: '/angular-data-grid/filter-set-mini-filter/' },
    { from: '/angular-grid/filter-text/', to: '/angular-data-grid/filter-text/' },
    { from: '/angular-grid/filtering/', to: '/angular-data-grid/filtering/' },
    { from: '/angular-grid/filtering-overview/', to: '/angular-data-grid/filtering-overview/' },
    { from: '/angular-grid/flashing-cells/', to: '/angular-data-grid/change-cell-renderers/' },
    { from: '/angular-grid/floating-filters/', to: '/angular-data-grid/floating-filters/' },
    { from: '/angular-grid/full-width-rows/', to: '/angular-data-grid/full-width-rows/' },
    { from: '/angular-grid/getting-started/', to: '/angular-data-grid/getting-started/' },
    { from: '/angular-grid/grid-api/', to: '/angular-data-grid/grid-api/' },
    { from: '/angular-grid/grid-callbacks/', to: '/angular-data-grid/grid-options/' },
    { from: '/angular-grid/grid-events/', to: '/angular-data-grid/grid-events/' },
    { from: '/angular-grid/grid-features/', to: 'https://www.ag-grid.com/' },
    { from: '/angular-grid/grid-interface/', to: '/angular-data-grid/grid-interface/' },
    { from: '/angular-grid/grid-properties/', to: '/angular-data-grid/grid-options/' },
    { from: '/angular-grid/grid-size/', to: '/angular-data-grid/grid-size/' },
    { from: '/angular-grid/group-cell-renderer/', to: '/angular-data-grid/grouping/' },
    { from: '/angular-grid/grouping/', to: '/angular-data-grid/grouping/' },
    { from: '/angular-grid/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/angular-data-grid/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/angular-grid/index.html', to: '/angular-data-grid/getting-started/' },
    { from: '/angular-grid/infinite-scrolling/', to: '/angular-data-grid/infinite-scrolling/' },
    { from: '/angular-grid/integrated-charts/', to: '/angular-data-grid/integrated-charts/' },
    { from: '/angular-grid/integrated-charts-container/', to: '/angular-data-grid/integrated-charts-container/' },
    {
        from: '/angular-grid/integrated-charts-customisation/',
        to: '/angular-data-grid/integrated-charts-customisation/',
    },
    { from: '/angular-grid/integrated-charts-events/', to: '/angular-data-grid/integrated-charts-events/' },
    { from: '/angular-grid/integrated-charts-pivot-chart/', to: '/angular-data-grid/integrated-charts-pivot-chart/' },
    { from: '/angular-grid/integrated-charts-range-chart/', to: '/angular-data-grid/integrated-charts-range-chart/' },
    { from: '/angular-grid/integrated-charts-time-series/', to: '/angular-data-grid/integrated-charts-time-series/' },
    { from: '/angular-grid/integrated-charts-toolbar/', to: '/angular-data-grid/integrated-charts-menu/' },
    { from: '/angular-grid/keyboard-navigation/', to: '/angular-data-grid/keyboard-navigation/' },
    { from: '/angular-grid/licensing/', to: '/angular-data-grid/community-vs-enterprise/' },
    { from: '/angular-grid/localisation/', to: '/angular-data-grid/localisation/' },
    { from: '/angular-grid/massive-row-count/', to: '/angular-data-grid/massive-row-count/' },
    { from: '/angular-grid/master-detail/', to: '/angular-data-grid/master-detail/' },
    { from: '/angular-grid/master-detail-custom-detail/', to: '/angular-data-grid/master-detail-custom-detail/' },
    { from: '/angular-grid/master-detail-grids/', to: '/angular-data-grid/master-detail-grids/' },
    { from: '/angular-grid/master-detail-height/', to: '/angular-data-grid/master-detail-height/' },
    { from: '/angular-grid/master-detail-master-rows/', to: '/angular-data-grid/master-detail-master-rows/' },
    { from: '/angular-grid/master-detail-nesting/', to: '/angular-data-grid/master-detail-nesting/' },
    { from: '/angular-grid/master-detail-other/', to: '/angular-data-grid/master-detail-other/' },
    { from: '/angular-grid/master-detail-refresh/', to: '/angular-data-grid/master-detail-refresh/' },
    { from: '/angular-grid/modules/', to: '/angular-data-grid/modules/' },
    { from: '/angular-grid/modules-building/', to: '/angular-data-grid/modules/' },
    { from: '/angular-data-grid/modules-building/', to: '/angular-data-grid/modules/' },
    { from: '/angular-grid/modules-more-details/', to: '/angular-data-grid/modules/' },
    { from: '/angular-data-grid/modules-more-details/', to: '/angular-data-grid/modules/' },
    { from: '/angular-grid/overlays/', to: '/angular-data-grid/overlays/' },
    { from: '/angular-grid/packages/', to: '/angular-data-grid/modules/' },
    { from: '/angular-grid/packages-modules/', to: '/angular-data-grid/modules/' },
    { from: '/angular-grid/pivoting/', to: '/angular-data-grid/pivoting/' },
    { from: '/angular-grid/printing/', to: '/angular-data-grid/printing/' },
    { from: '/angular-grid/provided-cell-editors/', to: '/angular-data-grid/provided-cell-editors/' },
    { from: '/angular-grid/range-selection/', to: '/angular-data-grid/cell-selection/' },
    { from: '/angular-grid/range-selection-fill-handle/', to: '/angular-data-grid/cell-selection-fill-handle/' },
    { from: '/angular-grid/range-selection-handle/', to: '/angular-data-grid/cell-selection-handle/' },
    { from: '/angular-grid/reference-data/', to: '/angular-data-grid/reference-data/' },
    { from: '/angular-grid/rendering-api/', to: '/angular-data-grid/dom-virtualisation/' },
    { from: '/angular-grid/row-animation/', to: '/angular-data-grid/row-animation/' },
    { from: '/angular-grid/row-dragging/', to: '/angular-data-grid/row-dragging/' },
    {
        from: '/angular-grid/row-dragging-to-external-dropzone/',
        to: '/angular-data-grid/row-dragging-to-external-dropzone/',
    },
    { from: '/angular-grid/row-dragging-to-grid/', to: '/angular-data-grid/row-dragging-to-grid/' },
    { from: '/angular-grid/row-height/', to: '/angular-data-grid/row-height/' },
    { from: '/angular-grid/row-models/', to: '/angular-data-grid/row-models/' },
    { from: '/angular-grid/row-object/', to: '/angular-data-grid/row-object/' },
    { from: '/angular-grid/row-pagination/', to: '/angular-data-grid/row-pagination/' },
    { from: '/angular-grid/row-pinning/', to: '/angular-data-grid/row-pinning/' },
    { from: '/angular-grid/row-selection/', to: '/angular-data-grid/row-selection/' },
    { from: '/angular-grid/row-sorting/', to: '/angular-data-grid/row-sorting/' },
    { from: '/angular-grid/row-spanning/', to: '/angular-data-grid/row-spanning/' },
    { from: '/angular-grid/row-styles/', to: '/angular-data-grid/row-styles/' },
    { from: '/angular-grid/rtl/', to: '/angular-data-grid/rtl/' },
    { from: '/angular-grid/rxjs/', to: '/angular-data-grid/data-update/' },
    { from: '/angular-grid/saving-content/', to: '/angular-data-grid/saving-content/' },
    { from: '/angular-grid/scrolling-performance/', to: '/angular-data-grid/scrolling-performance/' },
    { from: '/angular-grid/scrolling-scenarios/', to: '/angular-data-grid/scrolling-performance/' },
    { from: '/angular-grid/security/', to: '/angular-data-grid/security/' },
    { from: '/angular-grid/selection-overview/', to: '/angular-data-grid/row-selection/' },
    { from: '/angular-grid/server-side-model/', to: '/angular-data-grid/server-side-model/' },
    {
        from: '/angular-grid/server-side-model-changing-columns/',
        to: '/angular-data-grid/server-side-model-changing-columns/',
    },
    { from: '/angular-grid/server-side-model-datasource/', to: '/angular-data-grid/server-side-model-datasource/' },
    { from: '/angular-grid/server-side-model-filtering/', to: '/angular-data-grid/server-side-model-filtering/' },
    { from: '/angular-grid/server-side-model-grouping/', to: '/angular-data-grid/server-side-model-grouping/' },
    {
        from: '/angular-grid/server-side-model-high-frequency/',
        to: '/angular-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/angular-data-grid/server-side-model-high-frequency/',
        to: '/angular-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/angular-grid/server-side-model-master-detail/',
        to: '/angular-data-grid/server-side-model-master-detail/',
    },
    { from: '/angular-grid/server-side-model-pagination/', to: '/angular-data-grid/server-side-model-pagination/' },
    { from: '/angular-grid/server-side-model-pivoting/', to: '/angular-data-grid/server-side-model-pivoting/' },
    { from: '/angular-grid/server-side-model-refresh/', to: '/angular-data-grid/server-side-model-updating-refresh/' },
    {
        from: '/angular-data-grid/server-side-model-refresh/',
        to: '/angular-data-grid/server-side-model-updating-refresh/',
    },
    { from: '/angular-grid/server-side-model-retry/', to: '/angular-data-grid/server-side-model-retry/' },
    { from: '/angular-grid/server-side-model-row-height/', to: '/angular-data-grid/server-side-model-row-height/' },
    { from: '/angular-grid/server-side-model-selection/', to: '/angular-data-grid/server-side-model-selection/' },
    { from: '/angular-grid/server-side-model-sorting/', to: '/angular-data-grid/server-side-model-sorting/' },
    {
        from: '/angular-grid/server-side-model-transactions/',
        to: '/angular-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/angular-data-grid/server-side-model-transactions/',
        to: '/angular-data-grid/server-side-model-updating-transactions/',
    },
    { from: '/angular-grid/server-side-model-tree-data/', to: '/angular-data-grid/server-side-model-tree-data/' },
    { from: '/angular-grid/server-side-model-updating/', to: '/angular-data-grid/server-side-model-updating/' },
    { from: '/angular-grid/server-side-operations-graphql/', to: '/angular-data-grid/server-side-operations-graphql/' },
    { from: '/angular-grid/server-side-operations-nodejs/', to: '/angular-data-grid/server-side-operations-nodejs/' },
    { from: '/angular-grid/server-side-operations-oracle/', to: '/angular-data-grid/server-side-operations-oracle/' },
    { from: '/angular-grid/server-side-operations-spark/', to: '/angular-data-grid/server-side-operations-spark/' },
    { from: '/angular-grid/side-bar/', to: '/angular-data-grid/side-bar/' },
    { from: '/angular-grid/status-bar/', to: '/angular-data-grid/status-bar/' },
    { from: '/angular-grid/supported-browsers/', to: '/angular-data-grid/supported-browsers/' },
    { from: '/angular-grid/testing/', to: '/angular-data-grid/testing/' },
    { from: '/angular-grid/themes/', to: '/angular-data-grid/themes/' },
    { from: '/angular-grid/themes-customising/', to: '/angular-data-grid/themes/' },
    { from: '/angular-grid/themes-provided/', to: '/angular-data-grid/themes/' },
    { from: '/angular-grid/tool-panel/', to: '/angular-data-grid/tool-panel/' },
    { from: '/angular-grid/tool-panel-columns/', to: '/angular-data-grid/tool-panel-columns/' },
    { from: '/angular-grid/tool-panel-filters/', to: '/angular-data-grid/tool-panel-filters/' },
    { from: '/angular-grid/touch/', to: '/angular-data-grid/touch/' },
    { from: '/angular-grid/tree-data/', to: '/angular-data-grid/tree-data/' },
    { from: '/angular-grid/undo-redo-edits/', to: '/angular-data-grid/undo-redo-edits/' },
    { from: '/angular-grid/value-formatters/', to: '/angular-data-grid/value-formatters/' },
    { from: '/angular-grid/value-getters/', to: '/angular-data-grid/value-getters/' },
    { from: '/angular-grid/value-parsers/', to: '/angular-data-grid/value-parsers/' },
    { from: '/angular-grid/value-setters/', to: '/angular-data-grid/value-setters/' },
    { from: '/angular-grid/view-refresh/', to: '/angular-data-grid/view-refresh/' },
    { from: '/angular-grid/viewport/', to: '/angular-data-grid/viewport/' },
    { from: '/react-grid/accessibility/', to: '/react-data-grid/accessibility/' },
    { from: '/react-grid/accessing-data/', to: '/react-data-grid/accessing-data/' },
    { from: '/react-grid/aggregation/', to: '/react-data-grid/aggregation/' },
    { from: '/react-grid/aligned-grids/', to: '/react-data-grid/aligned-grids/' },
    { from: '/react-grid/cell-content/', to: '/react-data-grid/cell-content/' },
    { from: '/react-grid/cell-editing/', to: '/react-data-grid/cell-editing/' },
    { from: '/react-grid/cell-expressions/', to: '/react-data-grid/cell-expressions/' },
    { from: '/react-grid/cell-rendering/', to: '/react-data-grid/component-cell-renderer/' },
    { from: '/react-grid/cell-styles/', to: '/react-data-grid/cell-styles/' },
    { from: '/react-grid/change-cell-renderers/', to: '/react-data-grid/change-cell-renderers/' },
    { from: '/react-grid/change-detection/', to: '/react-data-grid/change-detection/' },
    { from: '/react-grid/client-side-model/', to: '/react-data-grid/row-models/' },
    { from: '/react-grid/clipboard/', to: '/react-data-grid/clipboard/' },
    { from: '/react-grid/column-api/', to: '/react-data-grid/column-api/' },
    { from: '/react-grid/column-definitions/', to: '/react-data-grid/column-definitions/' },
    { from: '/react-grid/column-groups/', to: '/react-data-grid/column-groups/' },
    { from: '/react-grid/column-headers/', to: '/react-data-grid/column-headers/' },
    { from: '/react-grid/column-interface/', to: '/react-data-grid/column-interface/' },
    { from: '/react-grid/column-menu/', to: '/react-data-grid/column-menu/' },
    { from: '/react-grid/column-moving/', to: '/react-data-grid/column-moving/' },
    { from: '/react-grid/column-object/', to: '/react-data-grid/column-object/' },
    { from: '/react-grid/column-pinning/', to: '/react-data-grid/column-pinning/' },
    { from: '/react-grid/column-properties/', to: '/react-data-grid/column-properties/' },
    { from: '/react-grid/column-sizing/', to: '/react-data-grid/column-sizing/' },
    { from: '/react-grid/column-spanning/', to: '/react-data-grid/column-spanning/' },
    { from: '/react-grid/column-state/', to: '/react-data-grid/column-state/' },
    { from: '/react-grid/column-updating-definitions/', to: '/react-data-grid/column-updating-definitions/' },
    { from: '/react-grid/component-cell-editor/', to: '/react-data-grid/cell-editors/' },
    { from: '/react-grid/component-cell-renderer/', to: '/react-data-grid/component-cell-renderer/' },
    { from: '/react-grid/component-date/', to: '/react-data-grid/filter-date/' },
    { from: '/react-grid/component-filter/', to: '/react-data-grid/component-filter/' },
    { from: '/react-grid/component-floating-filter/', to: '/react-data-grid/component-floating-filter/' },
    { from: '/react-grid/component-header/', to: '/react-data-grid/column-headers/' },
    { from: '/react-grid/component-loading-cell-renderer/', to: '/react-data-grid/component-loading-cell-renderer/' },
    { from: '/react-grid/component-overlay/', to: '/react-data-grid/overlays/' },
    { from: '/react-grid/component-status-bar/', to: '/react-data-grid/status-bar/' },
    { from: '/react-grid/component-styling/', to: '/react-data-grid/' },
    { from: '/react-grid/component-tool-panel/', to: '/react-data-grid/component-tool-panel/' },
    { from: '/react-grid/component-tooltip/', to: '/react-data-grid/tooltips/' },
    { from: '/react-grid/component-types/', to: '/react-data-grid/components/' },
    { from: '/react-grid/components/', to: '/react-data-grid/components/' },
    { from: '/react-grid/context/', to: '/react-data-grid/context/' },
    { from: '/react-grid/context-menu/', to: '/react-data-grid/context-menu/' },
    { from: '/react-grid/csv-export/', to: '/react-data-grid/csv-export/' },
    { from: '/react-grid/custom-icons/', to: '/react-data-grid/custom-icons/' },
    { from: '/react-grid/data-update/', to: '/react-data-grid/data-update/' },
    { from: '/react-grid/data-update-high-frequency/', to: '/react-data-grid/data-update-high-frequency/' },
    { from: '/react-grid/data-update-single-row-cell/', to: '/react-data-grid/data-update-single-row-cell/' },
    { from: '/react-grid/data-update-transactions/', to: '/react-data-grid/data-update-transactions/' },
    { from: '/react-grid/dom-virtualisation/', to: '/react-data-grid/dom-virtualisation/' },
    { from: '/react-grid/drag-and-drop/', to: '/react-data-grid/drag-and-drop/' },
    { from: '/react-grid/excel-export/', to: '/react-data-grid/excel-export/' },
    { from: '/react-grid/excel-export-api/', to: '/react-data-grid/excel-export-api/' },
    { from: '/react-grid/excel-export-columns/', to: '/react-data-grid/excel-export-columns/' },
    { from: '/react-grid/excel-export-data-types/', to: '/react-data-grid/excel-export-data-types/' },
    { from: '/react-grid/excel-export-extra-content/', to: '/react-data-grid/excel-export-extra-content/' },
    { from: '/react-grid/excel-export-formulas/', to: '/react-data-grid/excel-export-formulas/' },
    { from: '/react-grid/excel-export-hyperlinks/', to: '/react-data-grid/excel-export-hyperlinks/' },
    { from: '/react-grid/excel-export-images/', to: '/react-data-grid/excel-export-images/' },
    { from: '/react-grid/excel-export-master-detail/', to: '/react-data-grid/excel-export-master-detail/' },
    { from: '/react-grid/excel-export-multiple-sheets/', to: '/react-data-grid/excel-export-multiple-sheets/' },
    { from: '/react-grid/excel-export-page-setup/', to: '/react-data-grid/excel-export-page-setup/' },
    { from: '/react-grid/excel-export-rows/', to: '/react-data-grid/excel-export-rows/' },
    { from: '/react-grid/excel-export-styles/', to: '/react-data-grid/excel-export-styles/' },
    { from: '/react-grid/excel-import/', to: '/react-data-grid/excel-import/' },
    { from: '/react-grid/expressions-and-context/', to: '/react-data-grid/context/' },
    { from: '/react-grid/filter-api/', to: '/react-data-grid/filter-api/' },
    { from: '/react-grid/filter-custom/', to: '/react-data-grid/component-filter/' },
    { from: '/react-grid/filter-date/', to: '/react-data-grid/filter-date/' },
    { from: '/react-grid/filter-external/', to: '/react-data-grid/filter-external/' },
    { from: '/react-grid/filter-multi/', to: '/react-data-grid/filter-multi/' },
    { from: '/react-grid/filter-number/', to: '/react-data-grid/filter-number/' },
    { from: '/react-grid/filter-provided/', to: '/react-data-grid/filtering/' },
    { from: '/react-grid/filter-provided-simple/', to: '/react-data-grid/filtering/' },
    { from: '/react-grid/filter-quick/', to: '/react-data-grid/filter-quick/' },
    { from: '/react-grid/filter-set/', to: '/react-data-grid/filter-set/' },
    { from: '/react-grid/filter-set-api/', to: '/react-data-grid/filter-set-api/' },
    { from: '/react-grid/filter-set-data-updates/', to: '/react-data-grid/filter-set-data-updates/' },
    { from: '/react-grid/filter-set-excel-mode/', to: '/react-data-grid/filter-set-excel-mode/' },
    { from: '/react-grid/filter-set-filter-list/', to: '/react-data-grid/filter-set-filter-list/' },
    { from: '/react-grid/filter-set-mini-filter/', to: '/react-data-grid/filter-set-mini-filter/' },
    { from: '/react-grid/filter-text/', to: '/react-data-grid/filter-text/' },
    { from: '/react-grid/filtering/', to: '/react-data-grid/filtering/' },
    { from: '/react-grid/filtering-overview/', to: '/react-data-grid/filtering-overview/' },
    { from: '/react-grid/fine-tuning/', to: '/react-data-grid/react-hooks/' },
    { from: '/react-grid/flashing-cells/', to: '/react-data-grid/change-cell-renderers/' },
    { from: '/react-grid/floating-filters/', to: '/react-data-grid/floating-filters/' },
    { from: '/react-grid/framework-hoc/', to: '/react-data-grid/components/' },
    { from: '/react-grid/full-width-rows/', to: '/react-data-grid/full-width-rows/' },
    { from: '/react-grid/getting-started/', to: '/react-data-grid/getting-started/' },
    { from: '/react-grid/grid-api/', to: '/react-data-grid/grid-api/' },
    { from: '/react-grid/grid-callbacks/', to: '/react-data-grid/grid-options/' },
    { from: '/react-grid/grid-events/', to: '/react-data-grid/grid-events/' },
    { from: '/react-grid/grid-features/', to: 'https://www.ag-grid.com/' },
    { from: '/react-grid/grid-interface/', to: '/react-data-grid/grid-interface/' },
    { from: '/react-grid/grid-properties/', to: '/react-data-grid/grid-options/' },
    { from: '/react-grid/grid-size/', to: '/react-data-grid/grid-size/' },
    { from: '/react-grid/group-cell-renderer/', to: '/react-data-grid/grouping/' },
    { from: '/react-grid/grouping/', to: '/react-data-grid/grouping/' },
    { from: '/react-grid/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/react-data-grid/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/react-grid/index.html', to: '/react-data-grid/getting-started/' },
    { from: '/react-grid/infinite-scrolling/', to: '/react-data-grid/infinite-scrolling/' },
    { from: '/react-grid/integrated-charts/', to: '/react-data-grid/integrated-charts/' },
    { from: '/react-grid/integrated-charts-container/', to: '/react-data-grid/integrated-charts-container/' },
    { from: '/react-grid/integrated-charts-customisation/', to: '/react-data-grid/integrated-charts-customisation/' },
    { from: '/react-grid/integrated-charts-events/', to: '/react-data-grid/integrated-charts-events/' },
    { from: '/react-grid/integrated-charts-pivot-chart/', to: '/react-data-grid/integrated-charts-pivot-chart/' },
    { from: '/react-grid/integrated-charts-range-chart/', to: '/react-data-grid/integrated-charts-range-chart/' },
    { from: '/react-grid/integrated-charts-time-series/', to: '/react-data-grid/integrated-charts-time-series/' },
    { from: '/react-grid/integrated-charts-toolbar/', to: '/react-data-grid/integrated-charts-menu/' },
    { from: '/react-grid/keyboard-navigation/', to: '/react-data-grid/keyboard-navigation/' },
    { from: '/react-grid/licensing/', to: '/react-data-grid/community-vs-enterprise/' },
    { from: '/react-grid/localisation/', to: '/react-data-grid/localisation/' },
    { from: '/react-grid/massive-row-count/', to: '/react-data-grid/massive-row-count/' },
    { from: '/react-grid/master-detail/', to: '/react-data-grid/master-detail/' },
    { from: '/react-grid/master-detail-custom-detail/', to: '/react-data-grid/master-detail-custom-detail/' },
    { from: '/react-grid/master-detail-grids/', to: '/react-data-grid/master-detail-grids/' },
    { from: '/react-grid/master-detail-height/', to: '/react-data-grid/master-detail-height/' },
    { from: '/react-grid/master-detail-master-rows/', to: '/react-data-grid/master-detail-master-rows/' },
    { from: '/react-grid/master-detail-nesting/', to: '/react-data-grid/master-detail-nesting/' },
    { from: '/react-grid/master-detail-other/', to: '/react-data-grid/master-detail-other/' },
    { from: '/react-grid/master-detail-refresh/', to: '/react-data-grid/master-detail-refresh/' },
    { from: '/react-grid/modules/', to: '/react-data-grid/modules/' },
    { from: '/react-grid/modules-building/', to: '/react-data-grid/modules/' },
    { from: '/react-data-grid/modules-building/', to: '/react-data-grid/modules/' },
    { from: '/react-grid/modules-more-details/', to: '/react-data-grid/modules/' },
    { from: '/react-data-grid/modules-more-details/', to: '/react-data-grid/modules/' },
    { from: '/react-grid/overlays/', to: '/react-data-grid/overlays/' },
    { from: '/react-grid/packages/', to: '/react-data-grid/modules/' },
    { from: '/react-grid/packages-modules/', to: '/react-data-grid/modules/' },
    { from: '/react-grid/pivoting/', to: '/react-data-grid/pivoting/' },
    { from: '/react-grid/printing/', to: '/react-data-grid/printing/' },
    { from: '/react-grid/provided-cell-editors/', to: '/react-data-grid/provided-cell-editors/' },
    { from: '/react-grid/range-selection/', to: '/react-data-grid/cell-selection/' },
    { from: '/react-grid/range-selection-fill-handle/', to: '/react-data-grid/cell-selection-fill-handle/' },
    { from: '/react-grid/range-selection-handle/', to: '/react-data-grid/cell-selection-handle/' },
    { from: '/react-grid/react-hooks/', to: '/react-data-grid/react-hooks/' },
    { from: '/react-grid/redux-integration-pt1/', to: '/react-data-grid/getting-started/' },
    { from: '/react-grid/redux-integration-pt2/', to: '/react-data-grid/getting-started/' },
    { from: '/react-grid/reference-data/', to: '/react-data-grid/reference-data/' },
    { from: '/react-grid/rendering-api/', to: '/react-data-grid/dom-virtualisation/' },
    { from: '/react-grid/row-animation/', to: '/react-data-grid/row-animation/' },
    { from: '/react-grid/row-dragging/', to: '/react-data-grid/row-dragging/' },
    {
        from: '/react-grid/row-dragging-to-external-dropzone/',
        to: '/react-data-grid/row-dragging-to-external-dropzone/',
    },
    { from: '/react-grid/row-dragging-to-grid/', to: '/react-data-grid/row-dragging-to-grid/' },
    { from: '/react-grid/row-height/', to: '/react-data-grid/row-height/' },
    { from: '/react-grid/row-models/', to: '/react-data-grid/row-models/' },
    { from: '/react-grid/row-object/', to: '/react-data-grid/row-object/' },
    { from: '/react-grid/row-pagination/', to: '/react-data-grid/row-pagination/' },
    { from: '/react-grid/row-pinning/', to: '/react-data-grid/row-pinning/' },
    { from: '/react-grid/row-selection/', to: '/react-data-grid/row-selection/' },
    { from: '/react-grid/row-sorting/', to: '/react-data-grid/row-sorting/' },
    { from: '/react-grid/row-spanning/', to: '/react-data-grid/row-spanning/' },
    { from: '/react-grid/row-styles/', to: '/react-data-grid/row-styles/' },
    { from: '/react-grid/rtl/', to: '/react-data-grid/rtl/' },
    { from: '/react-grid/rxjs/', to: '/react-data-grid/data-update/' },
    { from: '/react-grid/saving-content/', to: '/react-data-grid/saving-content/' },
    { from: '/react-grid/scrolling-performance/', to: '/react-data-grid/scrolling-performance/' },
    { from: '/react-grid/scrolling-scenarios/', to: '/react-data-grid/scrolling-performance/' },
    { from: '/react-grid/security/', to: '/react-data-grid/security/' },
    { from: '/react-grid/selection-overview/', to: '/react-data-grid/row-selection/' },
    { from: '/react-grid/server-side-model/', to: '/react-data-grid/server-side-model/' },
    {
        from: '/react-grid/server-side-model-changing-columns/',
        to: '/react-data-grid/server-side-model-changing-columns/',
    },
    { from: '/react-grid/server-side-model-datasource/', to: '/react-data-grid/server-side-model-datasource/' },
    { from: '/react-grid/server-side-model-filtering/', to: '/react-data-grid/server-side-model-filtering/' },
    { from: '/react-grid/server-side-model-grouping/', to: '/react-data-grid/server-side-model-grouping/' },
    {
        from: '/react-grid/server-side-model-high-frequency/',
        to: '/react-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/react-data-grid/server-side-model-high-frequency/',
        to: '/react-data-grid/server-side-model-updating-transactions/',
    },
    { from: '/react-grid/server-side-model-master-detail/', to: '/react-data-grid/server-side-model-master-detail/' },
    { from: '/react-grid/server-side-model-pagination/', to: '/react-data-grid/server-side-model-pagination/' },
    { from: '/react-grid/server-side-model-pivoting/', to: '/react-data-grid/server-side-model-pivoting/' },
    { from: '/react-grid/server-side-model-refresh/', to: '/react-data-grid/server-side-model-updating-refresh/' },
    { from: '/react-data-grid/server-side-model-refresh/', to: '/react-data-grid/server-side-model-updating-refresh/' },
    { from: '/react-grid/server-side-model-retry/', to: '/react-data-grid/server-side-model-retry/' },
    { from: '/react-grid/server-side-model-row-height/', to: '/react-data-grid/server-side-model-row-height/' },
    { from: '/react-grid/server-side-model-selection/', to: '/react-data-grid/server-side-model-selection/' },
    { from: '/react-grid/server-side-model-sorting/', to: '/react-data-grid/server-side-model-sorting/' },
    {
        from: '/react-grid/server-side-model-transactions/',
        to: '/react-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/react-data-grid/server-side-model-transactions/',
        to: '/react-data-grid/server-side-model-updating-transactions/',
    },
    { from: '/react-grid/server-side-model-tree-data/', to: '/react-data-grid/server-side-model-tree-data/' },
    { from: '/react-grid/server-side-model-updating/', to: '/react-data-grid/server-side-model-updating/' },
    { from: '/react-grid/server-side-operations-graphql/', to: '/react-data-grid/server-side-operations-graphql/' },
    { from: '/react-grid/server-side-operations-nodejs/', to: '/react-data-grid/server-side-operations-nodejs/' },
    { from: '/react-grid/server-side-operations-oracle/', to: '/react-data-grid/server-side-operations-oracle/' },
    { from: '/react-grid/server-side-operations-spark/', to: '/react-data-grid/server-side-operations-spark/' },
    { from: '/react-grid/side-bar/', to: '/react-data-grid/side-bar/' },
    { from: '/react-grid/status-bar/', to: '/react-data-grid/status-bar/' },
    { from: '/react-grid/supported-browsers/', to: '/react-data-grid/supported-browsers/' },
    { from: '/react-grid/testing/', to: '/react-data-grid/testing/' },
    { from: '/react-grid/themes/', to: '/react-data-grid/themes/' },
    { from: '/react-grid/themes-customising/', to: '/react-data-grid/themes/' },
    { from: '/react-grid/themes-provided/', to: '/react-data-grid/themes/' },
    { from: '/react-grid/tool-panel/', to: '/react-data-grid/tool-panel/' },
    { from: '/react-grid/tool-panel-columns/', to: '/react-data-grid/tool-panel-columns/' },
    { from: '/react-grid/tool-panel-filters/', to: '/react-data-grid/tool-panel-filters/' },
    { from: '/react-grid/touch/', to: '/react-data-grid/touch/' },
    { from: '/react-grid/tree-data/', to: '/react-data-grid/tree-data/' },
    { from: '/react-grid/undo-redo-edits/', to: '/react-data-grid/undo-redo-edits/' },
    { from: '/react-grid/value-formatters/', to: '/react-data-grid/value-formatters/' },
    { from: '/react-grid/value-getters/', to: '/react-data-grid/value-getters/' },
    { from: '/react-grid/value-parsers/', to: '/react-data-grid/value-parsers/' },
    { from: '/react-grid/value-setters/', to: '/react-data-grid/value-setters/' },
    { from: '/react-grid/view-refresh/', to: '/react-data-grid/view-refresh/' },
    { from: '/react-grid/viewport/', to: '/react-data-grid/viewport/' },
    { from: '/vue-grid/accessibility/', to: '/vue-data-grid/accessibility/' },
    { from: '/vue-grid/accessing-data/', to: '/vue-data-grid/accessing-data/' },
    { from: '/vue-grid/aggregation/', to: '/vue-data-grid/aggregation/' },
    { from: '/vue-grid/aligned-grids/', to: '/vue-data-grid/aligned-grids/' },
    { from: '/vue-grid/cell-content/', to: '/vue-data-grid/cell-content/' },
    { from: '/vue-grid/cell-editing/', to: '/vue-data-grid/cell-editing/' },
    { from: '/vue-grid/cell-expressions/', to: '/vue-data-grid/cell-expressions/' },
    { from: '/vue-grid/cell-rendering/', to: '/vue-data-grid/component-cell-renderer/' },
    { from: '/vue-grid/cell-styles/', to: '/vue-data-grid/cell-styles/' },
    { from: '/vue-grid/change-cell-renderers/', to: '/vue-data-grid/change-cell-renderers/' },
    { from: '/vue-grid/change-detection/', to: '/vue-data-grid/change-detection/' },
    { from: '/vue-grid/client-side-model/', to: '/vue-data-grid/row-models/' },
    { from: '/vue-grid/clipboard/', to: '/vue-data-grid/clipboard/' },
    { from: '/vue-grid/column-api/', to: '/vue-data-grid/column-api/' },
    { from: '/vue-grid/column-definitions/', to: '/vue-data-grid/column-definitions/' },
    { from: '/vue-grid/column-groups/', to: '/vue-data-grid/column-groups/' },
    { from: '/vue-grid/column-headers/', to: '/vue-data-grid/column-headers/' },
    { from: '/vue-grid/column-interface/', to: '/vue-data-grid/column-interface/' },
    { from: '/vue-grid/column-menu/', to: '/vue-data-grid/column-menu/' },
    { from: '/vue-grid/column-moving/', to: '/vue-data-grid/column-moving/' },
    { from: '/vue-grid/column-object/', to: '/vue-data-grid/column-object/' },
    { from: '/vue-grid/column-pinning/', to: '/vue-data-grid/column-pinning/' },
    { from: '/vue-grid/column-properties/', to: '/vue-data-grid/column-properties/' },
    { from: '/vue-grid/column-sizing/', to: '/vue-data-grid/column-sizing/' },
    { from: '/vue-grid/column-spanning/', to: '/vue-data-grid/column-spanning/' },
    { from: '/vue-grid/column-state/', to: '/vue-data-grid/column-state/' },
    { from: '/vue-grid/column-updating-definitions/', to: '/vue-data-grid/column-updating-definitions/' },
    { from: '/vue-grid/component-cell-editor/', to: '/vue-data-grid/cell-editors/' },
    { from: '/vue-grid/component-cell-renderer/', to: '/vue-data-grid/component-cell-renderer/' },
    { from: '/vue-grid/component-date/', to: '/vue-data-grid/filter-date/' },
    { from: '/vue-grid/component-filter/', to: '/vue-data-grid/component-filter/' },
    { from: '/vue-grid/component-floating-filter/', to: '/vue-data-grid/component-floating-filter/' },
    { from: '/vue-grid/component-header/', to: '/vue-data-grid/column-headers/' },
    { from: '/vue-grid/component-loading-cell-renderer/', to: '/vue-data-grid/component-loading-cell-renderer/' },
    { from: '/vue-grid/component-overlay/', to: '/vue-data-grid/overlays/' },
    { from: '/vue-grid/component-status-bar/', to: '/vue-data-grid/status-bar/' },
    { from: '/vue-grid/component-tool-panel/', to: '/vue-data-grid/component-tool-panel/' },
    { from: '/vue-grid/component-tooltip/', to: '/vue-data-grid/tooltips/' },
    { from: '/vue-grid/component-types/', to: '/vue-data-grid/components/' },
    { from: '/vue-grid/components/', to: '/vue-data-grid/components/' },
    { from: '/vue-grid/context/', to: '/vue-data-grid/context/' },
    { from: '/vue-grid/context-menu/', to: '/vue-data-grid/context-menu/' },
    { from: '/vue-grid/csv-export/', to: '/vue-data-grid/csv-export/' },
    { from: '/vue-grid/custom-icons/', to: '/vue-data-grid/custom-icons/' },
    { from: '/vue-grid/data-update/', to: '/vue-data-grid/data-update/' },
    { from: '/vue-grid/data-update-high-frequency/', to: '/vue-data-grid/data-update-high-frequency/' },
    { from: '/vue-grid/data-update-single-row-cell/', to: '/vue-data-grid/data-update-single-row-cell/' },
    { from: '/vue-grid/data-update-transactions/', to: '/vue-data-grid/data-update-transactions/' },
    { from: '/vue-grid/dom-virtualisation/', to: '/vue-data-grid/dom-virtualisation/' },
    { from: '/vue-grid/drag-and-drop/', to: '/vue-data-grid/drag-and-drop/' },
    { from: '/vue-grid/excel-export/', to: '/vue-data-grid/excel-export/' },
    { from: '/vue-grid/excel-export-api/', to: '/vue-data-grid/excel-export-api/' },
    { from: '/vue-grid/excel-export-columns/', to: '/vue-data-grid/excel-export-columns/' },
    { from: '/vue-grid/excel-export-data-types/', to: '/vue-data-grid/excel-export-data-types/' },
    { from: '/vue-grid/excel-export-extra-content/', to: '/vue-data-grid/excel-export-extra-content/' },
    { from: '/vue-grid/excel-export-formulas/', to: '/vue-data-grid/excel-export-formulas/' },
    { from: '/vue-grid/excel-export-hyperlinks/', to: '/vue-data-grid/excel-export-hyperlinks/' },
    { from: '/vue-grid/excel-export-images/', to: '/vue-data-grid/excel-export-images/' },
    { from: '/vue-grid/excel-export-master-detail/', to: '/vue-data-grid/excel-export-master-detail/' },
    { from: '/vue-grid/excel-export-multiple-sheets/', to: '/vue-data-grid/excel-export-multiple-sheets/' },
    { from: '/vue-grid/excel-export-page-setup/', to: '/vue-data-grid/excel-export-page-setup/' },
    { from: '/vue-grid/excel-export-rows/', to: '/vue-data-grid/excel-export-rows/' },
    { from: '/vue-grid/excel-export-styles/', to: '/vue-data-grid/excel-export-styles/' },
    { from: '/vue-grid/excel-import/', to: '/vue-data-grid/excel-import/' },
    { from: '/vue-grid/expressions-and-context/', to: '/vue-data-grid/context/' },
    { from: '/vue-grid/filter-api/', to: '/vue-data-grid/filter-api/' },
    { from: '/vue-grid/filter-custom/', to: '/vue-data-grid/component-filter/' },
    { from: '/vue-grid/filter-date/', to: '/vue-data-grid/filter-date/' },
    { from: '/vue-grid/filter-external/', to: '/vue-data-grid/filter-external/' },
    { from: '/vue-grid/filter-multi/', to: '/vue-data-grid/filter-multi/' },
    { from: '/vue-grid/filter-number/', to: '/vue-data-grid/filter-number/' },
    { from: '/vue-grid/filter-provided/', to: '/vue-data-grid/filtering/' },
    { from: '/vue-grid/filter-provided-simple/', to: '/vue-data-grid/filtering/' },
    { from: '/vue-grid/filter-quick/', to: '/vue-data-grid/filter-quick/' },
    { from: '/vue-grid/filter-set/', to: '/vue-data-grid/filter-set/' },
    { from: '/vue-grid/filter-set-api/', to: '/vue-data-grid/filter-set-api/' },
    { from: '/vue-grid/filter-set-data-updates/', to: '/vue-data-grid/filter-set-data-updates/' },
    { from: '/vue-grid/filter-set-excel-mode/', to: '/vue-data-grid/filter-set-excel-mode/' },
    { from: '/vue-grid/filter-set-filter-list/', to: '/vue-data-grid/filter-set-filter-list/' },
    { from: '/vue-grid/filter-set-mini-filter/', to: '/vue-data-grid/filter-set-mini-filter/' },
    { from: '/vue-grid/filter-text/', to: '/vue-data-grid/filter-text/' },
    { from: '/vue-grid/filtering/', to: '/vue-data-grid/filtering/' },
    { from: '/vue-grid/filtering-overview/', to: '/vue-data-grid/filtering-overview/' },
    { from: '/vue-grid/flashing-cells/', to: '/vue-data-grid/change-cell-renderers/' },
    { from: '/vue-grid/floating-filters/', to: '/vue-data-grid/floating-filters/' },
    { from: '/vue-grid/full-width-rows/', to: '/vue-data-grid/full-width-rows/' },
    { from: '/vue-grid/getting-started/', to: '/vue-data-grid/getting-started/' },
    { from: '/vue-grid/grid-api/', to: '/vue-data-grid/grid-api/' },
    { from: '/vue-grid/grid-callbacks/', to: '/vue-data-grid/grid-options/' },
    { from: '/vue-grid/grid-events/', to: '/vue-data-grid/grid-events/' },
    { from: '/vue-grid/grid-features/', to: 'https://www.ag-grid.com/' },
    { from: '/vue-grid/grid-interface/', to: '/vue-data-grid/grid-interface/' },
    { from: '/vue-grid/grid-properties/', to: '/vue-data-grid/grid-options/' },
    { from: '/vue-grid/grid-size/', to: '/vue-data-grid/grid-size/' },
    { from: '/vue-grid/group-cell-renderer/', to: '/vue-data-grid/grouping/' },
    { from: '/vue-grid/grouping/', to: '/vue-data-grid/grouping/' },
    { from: '/vue-grid/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/vue-data-grid/immutable-data/', to: 'https://www.ag-grid.com/' },
    { from: '/vue-grid/index.html', to: '/vue-data-grid/getting-started/' },
    { from: '/vue-grid/infinite-scrolling/', to: '/vue-data-grid/infinite-scrolling/' },
    { from: '/vue-grid/integrated-charts/', to: '/vue-data-grid/integrated-charts/' },
    { from: '/vue-grid/integrated-charts-container/', to: '/vue-data-grid/integrated-charts-container/' },
    { from: '/vue-grid/integrated-charts-customisation/', to: '/vue-data-grid/integrated-charts-customisation/' },
    { from: '/vue-grid/integrated-charts-events/', to: '/vue-data-grid/integrated-charts-events/' },
    { from: '/vue-grid/integrated-charts-pivot-chart/', to: '/vue-data-grid/integrated-charts-pivot-chart/' },
    { from: '/vue-grid/integrated-charts-range-chart/', to: '/vue-data-grid/integrated-charts-range-chart/' },
    { from: '/vue-grid/integrated-charts-time-series/', to: '/vue-data-grid/integrated-charts-time-series/' },
    { from: '/vue-grid/integrated-charts-toolbar/', to: '/vue-data-grid/integrated-charts-menu/' },
    { from: '/vue-grid/keyboard-navigation/', to: '/vue-data-grid/keyboard-navigation/' },
    { from: '/vue-grid/licensing/', to: '/vue-data-grid/community-vs-enterprise/' },
    { from: '/vue-grid/localisation/', to: '/vue-data-grid/localisation/' },
    { from: '/vue-grid/massive-row-count/', to: '/vue-data-grid/massive-row-count/' },
    { from: '/vue-grid/master-detail/', to: '/vue-data-grid/master-detail/' },
    { from: '/vue-grid/master-detail-custom-detail/', to: '/vue-data-grid/master-detail-custom-detail/' },
    { from: '/vue-grid/master-detail-grids/', to: '/vue-data-grid/master-detail-grids/' },
    { from: '/vue-grid/master-detail-height/', to: '/vue-data-grid/master-detail-height/' },
    { from: '/vue-grid/master-detail-master-rows/', to: '/vue-data-grid/master-detail-master-rows/' },
    { from: '/vue-grid/master-detail-nesting/', to: '/vue-data-grid/master-detail-nesting/' },
    { from: '/vue-grid/master-detail-other/', to: '/vue-data-grid/master-detail-other/' },
    { from: '/vue-grid/master-detail-refresh/', to: '/vue-data-grid/master-detail-refresh/' },
    { from: '/vue-grid/modules/', to: '/vue-data-grid/modules/' },
    { from: '/vue-grid/modules-building/', to: '/vue-data-grid/modules/' },
    { from: '/vue-data-grid/modules-building/', to: '/vue-data-grid/modules/' },
    { from: '/vue-grid/modules-more-details/', to: '/vue-data-grid/modules/' },
    { from: '/vue-data-grid/modules-more-details/', to: '/vue-data-grid/modules/' },
    { from: '/vue-grid/overlays/', to: '/vue-data-grid/overlays/' },
    { from: '/vue-grid/packages/', to: '/vue-data-grid/modules/' },
    { from: '/vue-grid/packages-modules/', to: '/vue-data-grid/modules/' },
    { from: '/vue-grid/pivoting/', to: '/vue-data-grid/pivoting/' },
    { from: '/vue-grid/printing/', to: '/vue-data-grid/printing/' },
    { from: '/vue-grid/provided-cell-editors/', to: '/vue-data-grid/provided-cell-editors/' },
    { from: '/vue-grid/range-selection/', to: '/vue-data-grid/cell-selection/' },
    { from: '/vue-grid/range-selection-fill-handle/', to: '/vue-data-grid/cell-selection-fill-handle/' },
    { from: '/vue-grid/range-selection-handle/', to: '/vue-data-grid/cell-selection-handle/' },
    { from: '/vue-grid/reference-data/', to: '/vue-data-grid/reference-data/' },
    { from: '/vue-grid/rendering-api/', to: '/vue-data-grid/dom-virtualisation/' },
    { from: '/vue-grid/row-animation/', to: '/vue-data-grid/row-animation/' },
    { from: '/vue-grid/row-dragging/', to: '/vue-data-grid/row-dragging/' },
    { from: '/vue-grid/row-dragging-to-external-dropzone/', to: '/vue-data-grid/row-dragging-to-external-dropzone/' },
    { from: '/vue-grid/row-dragging-to-grid/', to: '/vue-data-grid/row-dragging-to-grid/' },
    { from: '/vue-grid/row-height/', to: '/vue-data-grid/row-height/' },
    { from: '/vue-grid/row-models/', to: '/vue-data-grid/row-models/' },
    { from: '/vue-grid/row-object/', to: '/vue-data-grid/row-object/' },
    { from: '/vue-grid/row-pagination/', to: '/vue-data-grid/row-pagination/' },
    { from: '/vue-grid/row-pinning/', to: '/vue-data-grid/row-pinning/' },
    { from: '/vue-grid/row-selection/', to: '/vue-data-grid/row-selection/' },
    { from: '/vue-grid/row-sorting/', to: '/vue-data-grid/row-sorting/' },
    { from: '/vue-grid/row-spanning/', to: '/vue-data-grid/row-spanning/' },
    { from: '/vue-grid/row-styles/', to: '/vue-data-grid/row-styles/' },
    { from: '/vue-grid/rtl/', to: '/vue-data-grid/rtl/' },
    { from: '/vue-grid/rxjs/', to: '/vue-data-grid/data-update/' },
    { from: '/vue-grid/saving-content/', to: '/vue-data-grid/saving-content/' },
    { from: '/vue-grid/scrolling-performance/', to: '/vue-data-grid/scrolling-performance/' },
    { from: '/vue-grid/scrolling-scenarios/', to: '/vue-data-grid/scrolling-performance/' },
    { from: '/vue-grid/security/', to: '/vue-data-grid/security/' },
    { from: '/vue-grid/selection-overview/', to: '/vue-data-grid/row-selection/' },
    { from: '/vue-grid/server-side-model/', to: '/vue-data-grid/server-side-model/' },
    { from: '/vue-grid/server-side-model-changing-columns/', to: '/vue-data-grid/server-side-model-changing-columns/' },
    { from: '/vue-grid/server-side-model-datasource/', to: '/vue-data-grid/server-side-model-datasource/' },
    { from: '/vue-grid/server-side-model-filtering/', to: '/vue-data-grid/server-side-model-filtering/' },
    { from: '/vue-grid/server-side-model-grouping/', to: '/vue-data-grid/server-side-model-grouping/' },
    {
        from: '/vue-grid/server-side-model-high-frequency/',
        to: '/vue-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/vue-data-grid/server-side-model-high-frequency/',
        to: '/vue-data-grid/server-side-model-updating-transactions/',
    },
    { from: '/vue-grid/server-side-model-master-detail/', to: '/vue-data-grid/server-side-model-master-detail/' },
    { from: '/vue-grid/server-side-model-pagination/', to: '/vue-data-grid/server-side-model-pagination/' },
    { from: '/vue-grid/server-side-model-pivoting/', to: '/vue-data-grid/server-side-model-pivoting/' },
    { from: '/vue-grid/server-side-model-refresh/', to: '/vue-data-grid/server-side-model-updating-refresh/' },
    { from: '/vue-data-grid/server-side-model-refresh/', to: '/vue-data-grid/server-side-model-updating-refresh/' },
    { from: '/vue-grid/server-side-model-retry/', to: '/vue-data-grid/server-side-model-retry/' },
    { from: '/vue-grid/server-side-model-row-height/', to: '/vue-data-grid/server-side-model-row-height/' },
    { from: '/vue-grid/server-side-model-selection/', to: '/vue-data-grid/server-side-model-selection/' },
    { from: '/vue-grid/server-side-model-sorting/', to: '/vue-data-grid/server-side-model-sorting/' },
    {
        from: '/vue-grid/server-side-model-transactions/',
        to: '/vue-data-grid/server-side-model-updating-transactions/',
    },
    {
        from: '/vue-data-grid/server-side-model-transactions/',
        to: '/vue-data-grid/server-side-model-updating-transactions/',
    },
    { from: '/vue-grid/server-side-model-tree-data/', to: '/vue-data-grid/server-side-model-tree-data/' },
    { from: '/vue-grid/server-side-model-updating/', to: '/vue-data-grid/server-side-model-updating/' },
    { from: '/vue-grid/server-side-operations-graphql/', to: '/vue-data-grid/server-side-operations-graphql/' },
    { from: '/vue-grid/server-side-operations-nodejs/', to: '/vue-data-grid/server-side-operations-nodejs/' },
    { from: '/vue-grid/server-side-operations-oracle/', to: '/vue-data-grid/server-side-operations-oracle/' },
    { from: '/vue-grid/server-side-operations-spark/', to: '/vue-data-grid/server-side-operations-spark/' },
    { from: '/vue-grid/side-bar/', to: '/vue-data-grid/side-bar/' },
    { from: '/vue-grid/status-bar/', to: '/vue-data-grid/status-bar/' },
    { from: '/vue-grid/supported-browsers/', to: '/vue-data-grid/supported-browsers/' },
    { from: '/vue-grid/testing/', to: '/vue-data-grid/testing/' },
    { from: '/vue-grid/themes/', to: '/vue-data-grid/themes/' },
    { from: '/vue-grid/themes-customising/', to: '/vue-data-grid/themes/' },
    { from: '/vue-grid/themes-provided/', to: '/vue-data-grid/themes/' },
    { from: '/vue-grid/tool-panel/', to: '/vue-data-grid/tool-panel/' },
    { from: '/vue-grid/tool-panel-columns/', to: '/vue-data-grid/tool-panel-columns/' },
    { from: '/vue-grid/tool-panel-filters/', to: '/vue-data-grid/tool-panel-filters/' },
    { from: '/vue-grid/touch/', to: '/vue-data-grid/touch/' },
    { from: '/vue-grid/tree-data/', to: '/vue-data-grid/tree-data/' },
    { from: '/vue-grid/undo-redo-edits/', to: '/vue-data-grid/undo-redo-edits/' },
    { from: '/vue-grid/value-formatters/', to: '/vue-data-grid/value-formatters/' },
    { from: '/vue-grid/value-getters/', to: '/vue-data-grid/value-getters/' },
    { from: '/vue-grid/value-parsers/', to: '/vue-data-grid/value-parsers/' },
    { from: '/vue-grid/value-setters/', to: '/vue-data-grid/value-setters/' },
    { from: '/vue-grid/view-refresh/', to: '/vue-data-grid/view-refresh/' },
    { from: '/vue-grid/viewport/', to: '/vue-data-grid/viewport/' },
    { from: '/vue3/', to: '/vue-data-grid/getting-started/' },
    { from: '/nodejs-server-side-operations/', to: '/javascript-data-grid/server-side-operations-nodejs/' },
    { from: '/oracle-server-side-operations/', to: '/javascript-data-grid/server-side-operations-oracle/' },
    { from: '/quote/', to: '/ecommerce/#/ecommerce/quote-lookup' },
    { from: '/react-15/', to: '/react-data-grid/getting-started/' },
    {
        from: '/react-and-ag-grid/',
        to: 'https://medium.com/ag-grid/building-a-react-datagrid-using-ag-grid-a-perfect-match-5a4c45f3bedb',
    },
    { from: '/react-apis/', to: '/react-data-grid/getting-started/' },
    { from: '/react-column-configuration/', to: '/react-data-grid/getting-started/' },
    { from: '/react-fine-tuning/', to: '/react-data-grid/react-hooks/' },
    { from: '/react-getting-started/', to: '/react-data-grid/getting-started/' },
    { from: '/react-hooks/', to: '/react-data-grid/react-hooks/' },
    { from: '/react-redux-integration-pt1/', to: '/react-data-grid/getting-started/' },
    { from: '/react-redux-integration-pt2/', to: '/react-data-grid/getting-started/' },
    {
        from: '/review-of-angularjs-grids/',
        to: 'https://medium.com/ag-grid/from-hater-to-fan-how-i-fell-in-love-with-ag-grid-3cbc5976d5e3',
    },
    { from: '/spark-server-side-operations/', to: '/javascript-data-grid/server-side-operations-spark/' },
    { from: '/support.php', to: '/' },
    {
        from: '/understanding-packaging-for-javascript-typescript-commonjs-and-everything-else/',
        to: 'https://medium.com/ag-grid/understand-packaging-for-javascript-typescript-commonjs-and-everything-else-1fe835f3243a',
    },
    { from: '/vue-components/', to: '/vue-data-grid/getting-started/' },
    { from: '/vue-getting-started/', to: '/vue-data-grid/getting-started/' },
    { from: '/vue-js-grid/', to: 'https://medium.com/ag-grid/using-ag-grid-inside-a-vuejs-application-b6c442d77da8' },
    { from: '/vue-markup/', to: '/vue-data-grid/getting-started/' },
    { from: '/vuejs-grid/', to: '/vue-data-grid/getting-started/' },
    {
        from: '/why-the-world-needed-another-angularjs-grid/',
        to: 'https://medium.com/ag-grid/why-the-world-needed-another-angularjs-1-x-grid-17e522a53bc8',
    },
    {
        from: '/javascript-data-grid/integrated-charts-api/',
        to: '/javascript-data-grid/integrated-charts-application-created/',
    },
    {
        from: '/angular-data-grid/integrated-charts-api/',
        to: '/angular-data-grid/integrated-charts-application-created/',
    },
    { from: '/react-data-grid/integrated-charts-api/', to: '/react-data-grid/integrated-charts-application-created/' },
    { from: '/vue-data-grid/integrated-charts-api/', to: '/vue-data-grid/integrated-charts-application-created/' },
    {
        from: '/javascript-data-grid/integrated-charts-cross-filtering/',
        to: '/javascript-data-grid/integrated-charts-api-cross-filter-chart/',
    },
    {
        from: '/angular-data-grid/integrated-charts-cross-filtering/',
        to: '/angular-data-grid/integrated-charts-api-cross-filter-chart/',
    },
    {
        from: '/react-data-grid/integrated-charts-cross-filtering/',
        to: '/react-data-grid/integrated-charts-api-cross-filter-chart/',
    },
    {
        from: '/vue-data-grid/integrated-charts-cross-filtering/',
        to: '/vue-data-grid/integrated-charts-api-cross-filter-chart/',
    },

    {
        from: '/javascript-data-grid/server-side-model-infinite-scroll/',
        to: '/javascript-data-grid/server-side-model-configuration/',
    },
    {
        from: '/angular-data-grid/server-side-model-infinite-scroll/',
        to: '/angular-data-grid/server-side-model-configuration/',
    },
    {
        from: '/react-data-grid/server-side-model-infinite-scroll/',
        to: '/react-data-grid/server-side-model-configuration/',
    },
    {
        from: '/vue-data-grid/server-side-model-infinite-scroll/',
        to: '/vue-data-grid/server-side-model-configuration/',
    },

    {
        from: '/javascript-data-grid/server-side-model-row-stores/',
        to: '/javascript-data-grid/server-side-model-configuration/',
    },
    {
        from: '/angular-data-grid/server-side-model-row-stores/',
        to: '/angular-data-grid/server-side-model-configuration/',
    },
    { from: '/react-data-grid/server-side-model-row-stores/', to: '/react-data-grid/server-side-model-configuration/' },
    { from: '/vue-data-grid/server-side-model-row-stores/', to: '/vue-data-grid/server-side-model-configuration/' },

    { from: '/angular-data-grid/rxjs/', to: '/angular-data-grid/data-update/' },
    { from: '/react-data-grid/rxjs/', to: '/react-data-grid/data-update/' },
    { from: '/vue-data-grid/rxjs/', to: '/vue-data-grid/data-update/' },

    { from: '/angular-data-grid/angular-rxjs/', to: '/angular-data-grid/data-update/' },

    { from: '/javascript-data-grid/filter-provided/', to: '/javascript-data-grid/filtering/' },
    { from: '/angular-data-grid/filter-provided/', to: '/angular-data-grid/filtering/' },
    { from: '/react-data-grid/filter-provided/', to: '/react-data-grid/filtering/' },
    { from: '/vue-data-grid/filter-provided/', to: '/vue-data-grid/filtering/' },

    { from: '/javascript-data-grid/filter-provided-simple/', to: '/javascript-data-grid/filtering/' },
    { from: '/angular-data-grid/filter-provided-simple/', to: '/angular-data-grid/filtering/' },
    { from: '/react-data-grid/filter-provided-simple/', to: '/react-data-grid/filtering/' },
    { from: '/vue-data-grid/filter-provided-simple/', to: '/vue-data-grid/filtering/' },

    { from: '/javascript-data-grid/filter-custom/', to: '/javascript-data-grid/component-filter/' },
    { from: '/angular-data-grid/filter-custom/', to: '/angular-data-grid/component-filter/' },
    { from: '/react-data-grid/filter-custom/', to: '/react-data-grid/component-filter/' },
    { from: '/vue-data-grid/filter-custom/', to: '/vue-data-grid/component-filter/' },

    { from: '/javascript-data-grid/grid-features/', to: 'https://www.ag-grid.com/' },
    { from: '/angular-data-grid/grid-features/', to: 'https://www.ag-grid.com/' },
    { from: '/react-data-grid/grid-features/', to: 'https://www.ag-grid.com/' },
    { from: '/vue-data-grid/grid-features/', to: 'https://www.ag-grid.com/' },

    { fromPattern: '^/javascript-data-grid/$', to: 'https://www.ag-grid.com/javascript-data-grid/getting-started/' },
    { fromPattern: '^/react-data-grid/$', to: 'https://www.ag-grid.com/react-data-grid/getting-started/' },
    { fromPattern: '^/angular-data-grid/$', to: 'https://www.ag-grid.com/angular-data-grid/getting-started/' },
    { fromPattern: '^/vue-data-grid/$', to: 'https://www.ag-grid.com/vue-data-grid/getting-started/' },

    { fromPattern: '^/javascript-charts.*', to: 'https://www.ag-grid.com/charts/javascript/quick-start/' },
    { fromPattern: '^/angular-charts.*', to: 'https://www.ag-grid.com/charts/angular/quick-start/' },
    { fromPattern: '^/react-charts.*', to: 'https://www.ag-grid.com/charts/react/quick-start/' },
    { fromPattern: '^/vue-charts.*', to: 'https://www.ag-grid.com/charts/vue/quick-start/' },

    {
        fromPattern: '^/documentation/javascript/charts.*',
        to: 'https://www.ag-grid.com/charts/javascript/quick-start/',
    },
    { fromPattern: '^/documentation/angular/charts.*', to: 'https://www.ag-grid.com/charts/angular/quick-start/' },
    { fromPattern: '^/documentation/react/charts.*', to: 'https://www.ag-grid.com/charts/react/quick-start/' },
    { fromPattern: '^/documentation/vue/charts.*', to: 'https://www.ag-grid.com/charts/vue/quick-start/' },

    { fromPattern: '/archive$', to: '/documentation-archive' },
    { fromPattern: '/archive/$', to: '/documentation-archive' },

    { from: '/javascript-data-grid/component-types/', to: '/javascript-data-grid/components/' },
    { from: '/angular-data-grid/component-types/', to: '/angular-data-grid/components/' },
    { from: '/react-data-grid/component-types/', to: '/react-data-grid/components/' },
    { from: '/vue-data-grid/component-types/', to: '/vue-data-grid/components/' },

    { from: '/javascript-data-grid/expressions-and-context/', to: '/javascript-data-grid/context/' },
    { from: '/angular-data-grid/expressions-and-context/', to: '/angular-data-grid/context/' },
    { from: '/react-data-grid/expressions-and-context/', to: '/react-data-grid/context/' },
    { from: '/vue-data-grid/expressions-and-context/', to: '/vue-data-grid/context/' },

    { from: '/javascript-data-grid/cell-rendering/', to: '/javascript-data-grid/component-cell-renderer/' },
    { from: '/angular-data-grid/cell-rendering/', to: '/angular-data-grid/component-cell-renderer/' },
    { from: '/react-data-grid/cell-rendering/', to: '/react-data-grid/component-cell-renderer/' },
    { from: '/vue-data-grid/cell-rendering/', to: '/vue-data-grid/component-cell-renderer/' },

    { from: '/javascript-data-grid/flashing-cells/', to: '/javascript-data-grid/change-cell-renderers/' },
    { from: '/angular-data-grid/flashing-cells/', to: '/angular-data-grid/change-cell-renderers/' },
    { from: '/react-data-grid/flashing-cells/', to: '/react-data-grid/change-cell-renderers/' },
    { from: '/vue-data-grid/flashing-cells/', to: '/vue-data-grid/change-cell-renderers/' },

    { from: '/javascript-data-grid/component-cell-editor/', to: '/javascript-data-grid/cell-editors/' },
    { from: '/angular-data-grid/component-cell-editor/', to: '/angular-data-grid/cell-editors/' },
    { from: '/react-data-grid/component-cell-editor/', to: '/react-data-grid/cell-editors/' },
    { from: '/vue-data-grid/component-cell-editor/', to: '/vue-data-grid/cell-editors/' },

    { from: '/javascript-data-grid/component-header/', to: '/javascript-data-grid/column-headers/' },
    { from: '/angular-data-grid/component-header/', to: '/angular-data-grid/column-headers/' },
    { from: '/react-data-grid/component-header/', to: '/react-data-grid/column-headers/' },
    { from: '/vue-data-grid/component-header/', to: '/vue-data-grid/column-headers/' },

    { from: '/javascript-data-grid/component-status-bar/', to: '/javascript-data-grid/status-bar/' },
    { from: '/angular-data-grid/component-status-bar/', to: '/angular-data-grid/status-bar/' },
    { from: '/react-data-grid/component-status-bar/', to: '/react-data-grid/status-bar/' },
    { from: '/vue-data-grid/component-status-bar/', to: '/vue-data-grid/status-bar/' },

    { from: '/javascript-data-grid/component-overlay/', to: '/javascript-data-grid/overlays/' },
    { from: '/angular-data-grid/component-overlay/', to: '/angular-data-grid/overlays/' },
    { from: '/react-data-grid/component-overlay/', to: '/react-data-grid/overlays/' },
    { from: '/vue-data-grid/component-overlay/', to: '/vue-data-grid/overlays/' },

    { from: '/javascript-data-grid/component-tooltip/', to: '/javascript-data-grid/tooltips/' },
    { from: '/angular-data-grid/component-tooltip/', to: '/angular-data-grid/tooltips/' },
    { from: '/react-data-grid/component-tooltip/', to: '/react-data-grid/tooltips/' },
    { from: '/vue-data-grid/component-tooltip/', to: '/vue-data-grid/tooltips/' },

    { from: '/javascript-data-grid/component-date/', to: '/javascript-data-grid/filter-date/' },
    { from: '/angular-data-grid/component-date/', to: '/angular-data-grid/filter-date/' },
    { from: '/react-data-grid/component-date/', to: '/react-data-grid/filter-date/' },
    { from: '/vue-data-grid/component-date/', to: '/vue-data-grid/filter-date/' },

    { from: '/javascript-data-grid/framework-hoc/', to: '/javascript-data-grid/components/' },
    { from: '/angular-data-grid/framework-hoc/', to: '/angular-data-grid/components/' },
    { from: '/react-data-grid/framework-hoc/', to: '/react-data-grid/components/' },
    { from: '/vue-data-grid/framework-hoc/', to: '/vue-data-grid/components/' },

    { from: '/javascript-data-grid/component-communication/', to: '/javascript-data-grid/components/' },
    { from: '/angular-data-grid/component-communication/', to: '/angular-data-grid/components/' },
    { from: '/react-data-grid/component-communication/', to: '/react-data-grid/components/' },
    { from: '/vue-data-grid/component-communication/', to: '/vue-data-grid/components/' },

    { from: '/javascript-data-grid/component-provide-inject/', to: '/javascript-data-grid/components/' },
    { from: '/angular-data-grid/component-provide-inject/', to: '/angular-data-grid/components/' },
    { from: '/react-data-grid/component-provide-inject/', to: '/react-data-grid/components/' },
    { from: '/vue-data-grid/component-provide-inject/', to: '/vue-data-grid/components/' },

    { from: '/javascript-data-grid/rendering-api/', to: '/javascript-data-grid/dom-virtualisation/' },
    { from: '/angular-data-grid/rendering-api/', to: '/angular-data-grid/dom-virtualisation/' },
    { from: '/react-data-grid/rendering-api/', to: '/react-data-grid/dom-virtualisation/' },
    { from: '/vue-data-grid/rendering-api/', to: '/vue-data-grid/dom-virtualisation/' },

    { from: '/react-data-grid/redux-integration-pt1/', to: '/react-data-grid/getting-started/' },
    { from: '/react-data-grid/redux-integration-pt2/', to: '/react-data-grid/getting-started/' },

    { from: '/javascript-data-grid/integrated-charts-toolbar/', to: '/javascript-data-grid/integrated-charts-menu/' },
    { from: '/angular-data-grid/integrated-charts-toolbar/', to: '/angular-data-grid/integrated-charts-menu/' },
    { from: '/react-data-grid/integrated-charts-toolbar/', to: '/react-data-grid/integrated-charts-menu/' },
    { from: '/vue-data-grid/integrated-charts-toolbar/', to: '/vue-data-grid/integrated-charts-menu/' },

    { from: '/javascript-data-grid/building/', to: '/javascript-data-grid/modules/' },
    { from: '/angular-data-grid/building/', to: '/angular-data-grid/modules/' },
    { from: '/react-data-grid/building/', to: '/react-data-grid/modules/' },
    { from: '/vue-data-grid/building/', to: '/vue-data-grid/modules/' },

    { from: '/javascript-data-grid/packages-modules/', to: '/javascript-data-grid/modules/' },
    { from: '/angular-data-grid/packages-modules/', to: '/angular-data-grid/modules/' },
    { from: '/react-data-grid/packages-modules/', to: '/react-data-grid/modules/' },
    { from: '/vue-data-grid/packages-modules/', to: '/vue-data-grid/modules/' },

    { from: '/javascript-data-grid/packages/', to: '/javascript-data-grid/modules/' },
    { from: '/angular-data-grid/packages/', to: '/angular-data-grid/modules/' },
    { from: '/react-data-grid/packages/', to: '/react-data-grid/modules/' },
    { from: '/vue-data-grid/packages/', to: '/vue-data-grid/modules/' },

    { from: '/javascript-data-grid/modules-building/', to: '/javascript-data-grid/modules/' },
    { from: '/angular-data-grid/modules-building/', to: '/angular-data-grid/modules/' },
    { from: '/react-data-grid/modules-building/', to: '/react-data-grid/modules/' },
    { from: '/vue-data-grid/modules-building/', to: '/vue-data-grid/modules/' },

    { from: '/javascript-data-grid/client-side-model/', to: '/javascript-data-grid/row-models/' },
    { from: '/angular-data-grid/client-side-model/', to: '/angular-data-grid/row-models/' },
    { from: '/react-data-grid/client-side-model/', to: '/react-data-grid/row-models/' },
    { from: '/vue-data-grid/client-side-model/', to: '/vue-data-grid/row-models/' },

    { from: '/javascript-data-grid/grouping-footers/', to: '/javascript-data-grid/aggregation-total-rows/' },
    { from: '/angular-data-grid/grouping-footers/', to: '/angular-data-grid/aggregation-total-rows/' },
    { from: '/react-data-grid/grouping-footers/', to: '/react-data-grid/aggregation-total-rows/' },
    { from: '/vue-data-grid/grouping-footers/', to: '/vue-data-grid/aggregation-total-rows/' },

    { from: '/javascript-data-grid/scrolling-scenarios/', to: '/javascript-data-grid/scrolling-performance/' },
    { from: '/angular-data-grid/scrolling-scenarios/', to: '/angular-data-grid/scrolling-performance/' },
    { from: '/react-data-grid/scrolling-scenarios/', to: '/react-data-grid/scrolling-performance/' },
    { from: '/vue-data-grid/scrolling-scenarios/', to: '/vue-data-grid/scrolling-performance/' },

    { from: '/angular-data-grid/angular-compatibility/', to: '/angular-data-grid/compatibility/' },
    { from: '/react-data-grid/react-compatibility/', to: '/react-data-grid/compatibility/' },

    { from: '/react-data-grid/component-filter-imperative-react/', to: '/react-data-grid/component-filter/' },
    {
        from: '/react-data-grid/component-floating-filter-imperative-react/',
        to: '/react-data-grid/component-floating-filter/',
    },
    { from: '/react-data-grid/component-date-imperative-react/', to: '/react-data-grid/filter-date/' },
    { from: '/react-data-grid/component-cell-editor-imperative-react/', to: '/react-data-grid/cell-editors/' },

    { from: '/cookies.php', to: '/cookies' },
    { from: '/privacy.php', to: '/privacy' },
    { from: '/about.php', to: '/about' },
    { from: '/license-pricing.php', to: '/license-pricing' },
    { from: '/example.php', to: '/example' },
    { from: '/ag-grid-jobs-board.php', to: '/ag-grid-jobs-board' },

    { from: '/react-data-grid/whats-new', to: '/whats-new' },
    { from: '/vue-data-grid/whats-new', to: '/whats-new' },
    { from: '/angular-data-grid/whats-new', to: '/whats-new' },
    { from: '/javascript-data-grid/whats-new', to: '/whats-new' },
    { from: '/vue-data-grid/framework-data-flow', to: '/vue-data-grid/getting-started/' },

    { from: '/react-data-grid/licensing/', to: '/react-data-grid/community-vs-enterprise/' },
    { from: '/vue-data-grid/licensing/', to: '/vue-data-grid/community-vs-enterprise/' },
    { from: '/angular-data-grid/licensing/', to: '/angular-data-grid/community-vs-enterprise/' },
    { from: '/javascript-data-grid/licensing/', to: '/javascript-data-grid/community-vs-enterprise/' },

    // AG Charts Flyer QR Code Link Redirects
    { from: '/ag-charts-flyer-2025-angular-front/', to: 'https://www.ag-grid.com/charts/' },
    { from: '/ag-charts-flyer-2025-angular-reverse/', to: 'https://www.ag-grid.com/charts/gallery/' },
    { from: '/ag-charts-flyer-2025-javascript-front/', to: 'https://www.ag-grid.com/charts/' },
    { from: '/ag-charts-flyer-2025-javascript-reverse/', to: 'https://www.ag-grid.com/charts/gallery/' },
    { from: '/ag-charts-flyer-2025-react-front/', to: 'https://www.ag-grid.com/charts/' },
    { from: '/ag-charts-flyer-2025-react-reverse/', to: 'https://www.ag-grid.com/charts/gallery/' },

    ...pageForAllFrameworks('range-selection', 'cell-selection'),
    ...pageForAllFrameworks('range-selection-handle', 'cell-selection-handle'),
    ...pageForAllFrameworks('range-selection-fill-handle', 'cell-selection-fill-handle'),
    ...pageForAllFrameworks('selection-overview', 'row-selection'),
    ...pageForAllFrameworks('applying-theme-builder-styling-grid', 'theming'),
    ...pageForAllFrameworks('group-expand-collapse-comp', 'grouping'),
    ...pageForAllFrameworks('group-cell-renderer', 'grouping'),
    ...pageForAllFrameworks('group-custom-group-comp', 'grouping'),
    ...pageForAllFrameworks('grouping-filtering', 'grouping'),
    ...pageForAllFrameworks('grouping-column-filter', 'grouping'),
    ...pageForAllFrameworks('grouping-custom-filtering', 'grouping'),
    ...pageForAllFrameworks('grouping-locking-group-columns', 'grouping'),
    ...pageForAllFrameworks('grouping-group-order', 'grouping'),
    ...pageForAllFrameworks('grouping-complex-objects', 'grouping'),
    ...pageForAllFrameworks('grouping-unbalanced-groups', 'grouping'),
    ...pageForAllFrameworks('total-rows', 'aggregation-total-rows'),
    ...pageForAllFrameworks('aggregation-other', 'aggregation'),
    ...pageForAllFrameworks('global-style', 'theming'),
    ...pageForAllFrameworks('theming-api', 'theming'),
    ...pageForAllFrameworks('global-style-customisation-variables', 'theming-parameters'),
    ...pageForAllFrameworks('global-style-customisation-colours', 'theming-colors'),
    ...pageForAllFrameworks('global-style-customisation-compactness', 'theming-compactness'),
    ...pageForAllFrameworks('global-style-customisation-selections', 'theming-selections'),
    ...pageForAllFrameworks('global-style-customisation-headers', 'theming-headers'),
    ...pageForAllFrameworks('global-style-customisation-borders', 'theming-borders'),
    ...pageForAllFrameworks('global-style-customisation-tool-panels', 'theming-tool-panels'),
    ...pageForAllFrameworks('global-style-customisation-widgets', 'theming-widgets'),
    ...pageForAllFrameworks('global-style-customisation-popups', 'theming-popups'),
    ...pageForAllFrameworks('global-style-customisation-css', 'theming-css'),
    ...pageForAllFrameworks('global-style-customisation-sass', 'theming-v32-customisation-sass'),
    ...pageForAllFrameworks('global-style-customisation-sass-legacy', 'theming-v32-customisation-sass-legacy'),
    ...pageForAllFrameworks('tree-data-hierarchy', 'tree-data-paths'),
    ...pageForAllFrameworks('upgrading-to-ag-grid-32-2', 'upgrading-to-ag-grid-32-2-1'),
];
